[root@localhost ~]# docker search mysql # 搜索可安装的mysql[root@localhost ~]# docker pull mysql # 安装最新版本
启动 Mysql 并端口映射
[root@localhost ~]# docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
阿里云添加安全组规则
为数据库创建单独的用户并给他单独数据库的所有权限
mysql> create user 'iteration'@'%' identified by 'CKNiNXZgLk4HkqYS';
mysql> grant all privileges ON zyh_iteration.* TO 'iteration'@'%';
mysql> ALTER USER 'iteration'@'%' IDENTIFIED WITH mysql_native_password BY 'CKNiNXZgLk4HkqYS';
出现连接不上的情况
允许远程root登录
[root@localhost ~]# docker exec -it mysql01 /bin/bash
root@7d721d7a5059:/# mysql -u root -p
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
[root@localhost ~]# docker exec -it mysql01 /bin/bash
root@7d721d7a5059:/# vi /etc/mysql/my.cnf # [mysql]下添加skip-grant-tables
root@7d721d7a5059:/# mysql -u root -p # 无需密码即可进入数据库
mysql> flush privileges;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql>exit
root@7d721d7a5059:/# vi /etc/mysql/my.cnf # 删除skip-grant-tables
root@7d721d7a5059:/# exit[root@localhost ~]# docker restart fa9b1eb50f3d # 重启 mysql docker