Docker安裝並配置MySQL5.7


一. 版本

  CentOS:7.6

  Docker:19.03

  MySQL:5.7

 

二. 下載並安裝

  1. 拉取MySQL鏡像:

     docker pull mysql:5.7 

  2. 創建MySQL在宿主機對應的目錄映射:

     mkdir -p /usr/local/mysql/{logs,data} 

  3. 安裝MySQL:

// 切換到宿主機的mysql目錄
cd /usr/local/mysql // 創建mysql容器
docker run -p 3306:3306 --name my_mysql \ -v $PWD/logs:/var/log/mysql \ -v $PWD/data:/var/lib/mysql \ --restart=always --privileged=true \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:5.7
// 命令解釋 // docker run :是docker創建容器命令 // -p 宿主機端口:容器端口 :端口映射 // --name 容器名 :自定義容器名 // -v 宿主機目錄:容器目錄 :目錄映射 // 在這里目錄映射了mysql容器中的日志、數據庫文件 // --restart=always :docker啟動時自啟動該容器 // --privileged=true :獲取容器真實root權限 // -e MYSQL_ROOT_PASSWORD :設置mysql root賬戶初始密碼 // -d 鏡像:版本 :選擇要創建容器的鏡像,並在后台運行

  4. 注意:

    (1) 查看生成的mysql容器的時候,端口映射會出現一個33060的端口,這是MySQL的MySQL Shell操作所需要的X協議端口,屬於必備端口。

      詳見:https://dev.mysql.com/doc/mysql-port-reference/en/mysql-ports-reference-tables.html#mysql-client-server-ports

    (2) 不要映射 /etc/mysql 配置文件目錄,會把鏡像默認的配置文件夾替換為空文件夾。

 

三. 配置MySQL容器

  1. 進入mysql容器:

     docker exec -it my_mysql /bin/bash 

  2. 編輯配置文件以前需要更新關聯並下載文本編輯器:

// 設置容器時間為當前時間,有的容器可能不准導致容器更新關聯失敗
date -s "當前時間"
// 示例:date -s "20200926 21:07:00" #yyyymmdd hh:mm:ss // 更新關聯,因為默認服務器不在國內,所以速度慢的驚人
apt-get update // 安裝文本編輯器nano
apt-get install nano

  3. 編輯

// 安裝好nano后,跳轉到mysql容器自動生成的配置文件目錄下
cd /etc/mysql // 打開配置文件my.cnf
nano my.cnf // 在文件末尾添加以下字段,此時我默認編碼格式為utf8,如果用GBK自己改即可
[mysql] default-character-set=utf8mb4 [mysqld] character_set_server=utf8mb4 init_connect='SET NAMES utf8' lower_case_table_names = 1// 保存配置文件,並使用exit命令退出mysql容器

  4. 重啟mysql容器:

     docker restart my_mysql 

  5. 查看配置文件是否生效

// 重新進入mysql容器中
docker exec -it my_mysql /bin/bash // 登陸mysql客戶端
mysql -uroot -p123456 // 依次執行命令
show variables like 'character_set%'; show variables like 'collation%';

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM