[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