1. 程式人生 > 其它 >docker 安裝mysql8

docker 安裝mysql8

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_password
sql_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