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加密方式,mysql

6.解決authentication plugin 'caching_sha2_password'

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

7.從新使用navicat 鏈接

相關文章
相關標籤/搜索