Docker 安装 MySQL8

Updated on with 0 views and 0 comments

服务器版本: 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';