来自 技术 2019-04-17 00:00 的文章

Docker 官方mysql8.0镜像使用-(包括5.7版本)

八年Java开发的感悟:什么才是程序员的立身之本>>>   

docker mysql8.0使用方法(同样适用于5.7版本)

拉去mysql最新8.0镜像docker pull mysql创建持久化目录mkdir -p /app/data/mysql/{conf,db}设置my.cnf配置文件#default_authentication_plugin=mysql_native_password 设置mysql密码认证方式-解决远程连接问题#mmysql8 之前的版本中加密规则是mysql_native_password,mysql8之,加密规则是caching_sha2_password,而现在大多数客户端只支持mysql_native_password认证方式。所以还原认证为mysql_native_password即可解决。cat >/app/data/mysql/conf/my.cnf<<EOF[mysqld]user=mysqlcharacter-set-server=utf8default_authentication_plugin=mysql_native_passwordmax_connections=3000sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [client]default-character-set=utf8[mysql]default-character-set=utf8EOF创建数据卷容器docker run -v=/app/data/mysql/conf/my.cnf:/etc/my.cnf -v=/app/data/mysql/db:/var/lib/mysql --name web_data centos#docker run -p 3306:3306 -v=/app/data/mysql/conf/my.cnf:/etc/my.cnf -v=/app/data/mysql/db:/var/lib/mysql --restart always --privileged=true --name mysql-test -e MYSQL_USER="wyl" -e MYSQL_PASSWORD="wylpwd123456" -e MYSQL_ROOT_PASSWORD="rootpwd123456" mysql启动容器:docker run -d -p 3306:3306 -d --volumes-from web_data --restart always --privileged=true --name mysql-test -e MYSQL_USER="wyl" -e MYSQL_PASSWORD="wylpwd123456" -e MYSQL_ROOT_PASSWORD="rootpwd123456" mysql#同样适用于mysql5.7#docker run -d -p 3306:3306 -v=/app/data/mysql/conf/my.cnf:/etc/my.cnf -v=/app/data/mysql/db:/var/lib/mysql --restart always --privileged=true --name mysql-test -e MYSQL_USER="wyl" -e MYSQL_PASSWORD="wylpwd123456" -e MYSQL_ROOT_PASSWORD="rootpwd123456" mysql:5.7.17本地连接测:mysql -uroot -prootpwd123456 -h127.0.0.1 参数说明:-e MYSQL_USER="wyl":添加用户-e MYSQL_PASSWORD="wylpwd123":设置普通用户密码-e MYSQL_ROOT_PASSWORD=”rootpwd123”:设置root的密码 –character-set-server=utf8:设置字符集为utf8–collation-server=utf8_general_ci:设置字符比较规则为utf8_general_ci –restart always:开机启动–privileged=true:提升容器内权限-v=/mysqltest/config/my.cnf:/etc/my.cnf:映射配置文件-v=/mysqltest/data:/var/lib/mysql:映射数据目录