1. 程式人生 > >Docker建立執行多個mysql容器的方法示例

Docker建立執行多個mysql容器的方法示例

1.使用mysql/mysql-server:latest映象快速啟動一個Mysql例項

docker run --name ilink_user_01 -e MYSQL_ROOT_PASSWORD=123456 0d 0p 3307:3306 mysql/mysql-server:latest

  • ilink_user_01是容器名稱,通過--name指令指定
  • 123456為資料庫root的密碼,通過-e指定環境MYSQL_ROOT_PASSWORD為123456,-e (指定容器內的環境變數)
  • -d 使用-d引數,容器會進入到後臺,使用者無法看到容器中的資訊,也無法進行操作
  • 3307:3306 為埠對映,指定本地主機埠3307對映到容器的3306埠

2.進入例項修改mysql配置資訊

docker exec -it ilink_user_01 bash

  • exec 可以在容器內部直接執行人員命令
  • 引數 -it 用來儲存表中輸入的開啟,在不影響容器內其他應用的潛艇先,使用者可以很容易的與容器進行互動

3.檢視MYSQL資料庫中所有使用者

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

4.修改mysql的root使用者允許從任何ip登入使用者

update mysql.user set host='%' where user='root';

flush privileges;

5.使用navicat測試連線

出現authentication plugin 'caching_sha2_password',因為mysql映象是使用caching_sha2_password進行加密的,而navicat沒有支援caching_sha2_password加密方式,

6.解決authentication plugin 'caching_sha2_password'

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

7.重新使用navicat 連線