天天看點

4、Docker安裝Mysql

1、查找鏡像

docker search mysql
           

也可以去官網檢視鏡像tag,選擇自己需要的版本,否則會下載下傳最新版本:https://hub.docker.com/_/mysql/

2、下載下傳鏡像

docker pull mysql
           

3、運作容器

docker run -p 3306:3306 --name mysql-1 -e MYSQL_ROOT_PASSWORD=root -d mysql
           

參數說明:

  • -p 3306:3306:将容器的 3306 端口映射到主機的 3306 端口。
  • –name:指定容器名稱
  • -e MYSQL_ROOT_PASSWORD=root:初始化 root 使用者的密碼。
  • -d:背景運作
  • mysql:運作的鏡像名稱,如果不跟上版本,預設為mysql:laster。
此時,用navicat for mysql連接配接mysql發現報錯:Client does not support authentication protocol requested by server。
4、Docker安裝Mysql

解決方案:

#進入容器:
docker exec -it mysql /bin/bash
#登入mysql:
mysql -uroot -p
#更新root使用者密碼:
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
#重新整理權限:
mysql> flush privileges;
           

4、修改docker中mysql配置

第一種方法:安裝vim,在docker中安裝vim

apt-get update
apt-get install vim
           

第二種方法:在啟動時,直接映射conf->/etc/mysql/conf.d檔案夾,然後在conf.d中添加my.cnf檔案。由于/etc/mysql/my.cnf預設導入了conf.d檔案夾下的内容,是以直接在主控端外部添加my.cnf檔案即可。

docker run -p 3306:3306 --name mysql-1 --privileged=true -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql
           

第三種方法:在數組機修改後,複制到docker容器中。

從容器中複制到主控端

docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /root/mysqld.cnf

從主控端複制到容器

docker cp /root/mysqld.cnf mymysql:/etc/mysql/mysql.conf.d/

Docker 修改MySQL配置

參考:https://blog.csdn.net/zhaoyajie1011/article/details/98623666