在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/

  安装过程如下:

在Docker中体验数据库之MySql

在Docker中体验数据库之MySql

在Docker中体验数据库之MySql

、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

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

在Docker中体验数据库之MySql

--default-authentication-plugin=mysql_native_password

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

在Docker中体验数据库之MySql

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

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

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

在Docker中体验数据库之MySql

  最后在记录一个连接:如何查看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……

上一篇:从docker中备份oracle和mongo数据


下一篇:js中的substring