在上一篇在Docker中体验数据库之Mongodb之后,这次记录一下在docker中安装mysql。过程要比Mongodb麻烦一点……
参考网址:
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-docker.html
https://hub.docker.com/r/mysql/mysql-server/
安装过程如下:
、docker rm mysql1 -f // 强制删除容器
、docker pull mysql/mysql-server
、docker images
、docker ps -a
、docker run --name mysql1 -p : -d mysql/mysql-server --default-authentication-plugin=mysql_native_password //注意最后的配置
、docker logs mysql1 >& | grep GENERATED //查看日志
、docker restart mysql1
、docker logs mysql1 >& | grep GENERATED //重启之后还是没有发现密码,说明密码为空
、docker exec -it mysql1 mysql -uroot -p
、show databases;
、ALTER USER 'root'@'localhost' IDENTIFIED BY '123qwe';
、select user,host from mysql.user;
// 远程访问docker中的mysql时,连接时会报错,1130
、UPDATE mysql.user SET host='%' WHERE user='root';
、docker restart mysql1
//此时终于连接成功!!!!
【例外】
//查看本机IP
、ip route show
2.1、sudo apt install net-tools
2.2、ifconfig 或者 route -n 或者 netstat -rn
在贴一下,安装过程中报的错误:
--default-authentication-plugin=mysql_native_password
在看一下这个配置,如果没有这个配置,连接数据库时会有如下错误:
MySQL8.0 的密码加密规则变了,网上一搜2059一大堆……当然你也可以在创建容器的时候不添加这个配置,之后在数据库中修改也是一样的。
alter user 'root'@'%' identified with mysql_native_password by '123qwe';
最后来一个连接成功的截图:
最后在记录一个连接:如何查看linux(ubuntu)系统版本信息及CPU信息
结束。
【2019-12-11更新】
一、更新笔记开始的参考网址
msql官方:
1、https://dev.mysql.com/doc/mysql-installation-excerpt/8.0/en/linux-installation-docker.html
2、https://dev.mysql.com/doc/refman/8.0/en/linux-installation-docker.html
docker官方:
1、https://hub.docker.com/_/mysql
2、https://hub.docker.com/r/mysql/mysql-server
注意:在dockerhub中搜索mysql,会搜索到很多结果,其中有两个或许是我们想要的:mysql和mysql/mysql-server……