docker下安装最新Mysql配置
在linux或windows下用doker安装mysql需注意以下操作。
1、下载mysql最新镜像
docker pull mysql
2、宿主机创建以下映射目录
mysql/conf/conf.d
mysql/conf/mysql.conf.d
mysql/data
mysql/log
3、在conf.d目录下创建 my.cnf 配置文件( 名字自定义,扩展名必须为.cnf ),Docker启动时,将读取该文件。其内容如下:
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
#配置默认身份验证插件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
#以下是跳过权限验证,如记不住密码时使用之。
#skip-grant-tables
4、用docker运行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 是下载下来的docker镜像ID前6位。
5、如该数据库运行后,身份认证的默认插件未更改为"mysql_native_password",则进行如下操作:(针对:提示caching_sha2_password问题解决方法)
bash-4.4# mysql -uroot -p
mysql>use mysql;
mysql> select host,user,plugin from user; //查看是否改变过来了,如未改变继续如下操作。
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; //再次查看。