docker 数据库 mysql_在Docker中体验数据库之MySql

在上一篇在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/

安装过程如下:

7c99b07196cdb7489a7b964fa78f6840.png

65049d1735af72bbd19a96c5d94beb87.png

17cf4ee4bbd13af0d1657f59c356f713.png

0、docker rm mysql1 -f //强制删除容器

1、docker pull mysql/mysql-server2、docker images3、docker ps -a4、docker run --name mysql1 -p 3307:3306 -d mysql/mysql-server --default-authentication-plugin=mysql_native_password //注意最后的配置

5、docker logs mysql1 2>&1 | grep GENERATED //查看日志

6、docker restart mysql17、docker logs mysql1 2>&1 | grep GENERATED //重启之后还是没有发现密码,说明密码为空

8、docker exec -it mysql1 mysql -uroot -p9、show databases;10、ALTER USER 'root'@'localhost' IDENTIFIED BY '123qwe';11、select user,host frommysql.user;//远程访问docker中的mysql时,连接时会报错,1130

12、UPDATE mysql.user SET host='%' WHERE user='root';13、docker restart mysql1//此时终于连接成功!!!!

【例外】//查看本机IP

1、ip route show2.1、sudo apt install net-tools2.2、ifconfig 或者 route -n 或者 netstat -rn

在贴一下,安装过程中报的错误:

6152c00bf4c1ab254b86a0fee6d529e4.png

--default-authentication-plugin=mysql_native_password

在看一下这个配置,如果没有这个配置,连接数据库时会有如下错误:

d39d3f022e878bf4a6d643993c7117b9.png

MySQL8.0 的密码加密规则变了,网上一搜2059一大堆……当然你也可以在创建容器的时候不添加这个配置,之后在数据库中修改也是一样的。

alter user 'root'@'%' identified with mysql_native_password by '123qwe';

最后来一个连接成功的截图:

1cd8953a6206da229674496d1b201325.png

结束。

【2019-12-11更新】

一、更新笔记开始的参考网址

msql官方:

docker官方:

注意:在dockerhub中搜索mysql,会搜索到很多结果,其中有两个或许是我们想要的:mysql和mysql/mysql-server……😵😵😵除了这两个的发布者(应该一个是mysql官方的,另一个是docker官方的)不一样的,其他的我一概不知,具体他们有哪些差异有那位大神知道,还请告知,谢谢!

【2019-12-23更新】

这次使用的是“mysql”镜像,没有上面的那么麻烦,又是密码(或者是上面也支持,只不过没有测试)又是报错的……

docker run --name mysql0 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123qwe -d mysql

拉取镜像之后,执行上面的命令就可以远程连接了。如果是上面的命令,端口号是3307哦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值