docker下安裝最新Mysql配置
在linux或windows下用doker安裝mysql需注意以下操作。
1、下載mysql最新鏡像
docker pull mysql
2、宿主機(jī)創(chuàng)建以下映射目錄
mysql/conf/conf.d
mysql/conf/mysql.conf.d
mysql/data
mysql/log
3、在conf.d目錄下創(chuàng)建 my.cnf 配置文件( 名字自定義,擴(kuò)展名必須為.cnf ),Docker啟動(dòng)時(shí),將讀取該文件。其內(nèi)容如下:
[client]?
default-character-set=utf8mb4?
[mysql]?
default-character-set=utf8mb4?
[mysqld]?
#配置默認(rèn)身份驗(yàn)證插件default_authentication_plugin=mysql_native_password
init_connect="SET collation_connection = utf8mb4_unicode_ci"?
init_connect="SET NAMES utf8mb4"?
character-set-server=utf8mb4?
collation-server=utf8mb4_unicode_ci?
skip-character-set-client-handshake?
skip-name-resolve
#以下是跳過(guò)權(quán)限驗(yàn)證,如記不住密碼時(shí)使用之。
#skip-grant-tables??
4、用docker運(yùn)行mysql鏡像
docker run -d -p 3306:3306 --name mysqlContainer --restart=always --privileged=true \
-v /home/zmkfolder/mysql/log:/var/log/mysql? \
-v /home/zmkfolder/mysql/data:/var/lib/mysql? \
-v /home/zmkfolder/mysql/conf:/etc/mysql \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=newPwd? ?91b53e?
注:上面的?91b53e 是下載下來(lái)的docker鏡像ID前6位。
5、如該數(shù)據(jù)庫(kù)運(yùn)行后,身份認(rèn)證的默認(rèn)插件未更改為"mysql_native_password",則進(jìn)行如下操作:(針對(duì):提示caching_sha2_password問(wèn)題解決方法)
bash-4.4# mysql -uroot -p
mysql>use mysql;
mysql> select host,user,plugin from user;? //查看是否改變過(guò)來(lái)了,如未改變繼續(xù)如下操作。
mysql> alter user 'root'@'%' identified with mysql_native_password by 'newPwd';
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'newPwd';
mysql> flush privileges;
mysql> select host,user,plugin from user;? //再次查看。