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

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