服务器版本: CentOS 7.6
docker pull mysql:8
mkdir -p /home/docker/mysql8/{conf,data}
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8
docker cp mysql:/etc/mysql/my.cnf /home/docker/mysql8/conf/my.cnf
docker rm -f mysql
设置默认字符集
[client]
default-character-set=utf8mb4
修改认证插件
[mysqld]
default-authentication-plugin=mysql_native_password
cd /home/docker/mysql8
docker run --name mysql -p 3306:3306 \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-d mysql:8 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
进入容器
docker exec -it mysql /bin/sh
进入mysql
mysql -u root -pmy-secret-pw
查看用户
select host,user,authentication_string from mysql.user;
创建用户并授权
# 创建账号密码
CREATE USER `test`@`%` IDENTIFIED BY 'passowrd';
# 授予权限
GRANT ALL ON *.* TO `test`@`%` WITH GRANT OPTION;
修改用户密码
ALTER user 'root'@'localhost' IDENTIFIED BY 'password';