docker 安裝mysql8
阿新 • • 發佈:2022-12-05
1. 環境準備
1. centos7
2. 安裝包下載
1. 百度網盤下載
連結:https://pan.baidu.com/s/1AfRUkiXD9Oee1hA5az9SXg
提取碼:gs7b
2. 版本說明
此安裝包為docker mysql8 映象安裝包,版本為mysql-8.0.31,之前使用的mysql-8.0.27 有安全漏洞,被客戶掃出來了 後來升級到最新的版本。上網查mysql-8.0.28的版本後修復了漏洞。
3. 建立安裝目錄
1. 建立mysql安裝目錄
mkdir -p /usr/local/software/mysql8/{data,conf,init}
目錄說明:
mysql安裝路徑為:/usr/local/software/mysql8
data: mysql8 實際安裝路徑
conf 為配置檔案存放路徑
init: 為初始化指令碼路徑,docker安裝mysql8 資料庫在建立的時候會執行/docker-entrypoint-initdb.d下的所有後綴為.sql 的sql指令碼檔案
4. 寫入配置檔案
cat >>/usr/local/software/mysql8/conf/my.cnf << EOF [mysql] [mysqld] lower_case_table_names = 1 default-time_zone = '+8:00' default_authentication_plugin = mysql_native_passwordsql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION max_connections = 2000 EOF
引數說明:
lower_case_table_names = 1 資料庫忽略大小寫
default-time_zone = '+8:00' 設定資料庫時區為正8區
default_authentication_plugin = mysql_native_password mysql8 換了密碼加密方式,要讓資料庫使用舊的密碼加密方式
5. 初始化sql指令碼
如果有資料庫初始的指令碼 請放到/usr/local/software/mysql8/init 目錄下
6. 匯入mysql8 docker 映象
在mysql-8.tar.gz包同一個路徑下執行
docker load -i mysql-8.tar.gz
7. 執行mysql8容器
docker run -p 3306:3306 --name mysql8 --privileged=true --restart=always -v /usr/local/software/mysql8/conf/my.cnf:/etc/mysql/conf.d/my.cnf -v /usr/local/software/mysql8/data:/var/lib/mysql -v /usr/local/software/mysql8/init:/docker-entrypoint-initdb.d -e MYSQL_ROOT_PASSWORD=root -e LC_ALL=zh_CN.utf8 -e LANG=zh_CN.utf8 -e LANGUAGE=zh_CN.utf8 -d mysql:8