Docker Mysql

Docker Mysql

安装 Mysql

[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
防火墙FROP设置为ACCEPT
[root@root ~]# iptables -nvL
[root@root ~]# iptables -P FORWARD ACCEPT

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章