Docker部署MySQL

拉取MySQL镜像并创建MySQL容器数据卷

docker pull mysql:5.7
docker volume create mysql

采用容器host模式启动数据库

docker run --name mysql --net=host -v mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --character-set-server=utf8 --collation-server=utf8_bin 

MYSQL_ROOT_PASSWORD=密码
character-set-server=utf8 指定默认字符集为UTF-8
collation-server=utf8_bin 指定默认字符集为UTF-8

常用默认字符集

docker run --name mysql --net=host -v mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_bin

进入容器内部

docker exec -it mysql bash

进入数据库

mysql -uroot -p123456

mysql设置root远程连接

选择mysql数据库

use mysql;

设置访问权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;;

其中"."代表所有资源所有权限, “'root'@%”其中root代表账户名,%代表所有的访问地址。IDENTIFIED BY '密码',这里换成数据库root用户的密码,WITH GRANT OPTION表示允许级联授权。

刷新访问权限表

FLUSH PRIVILEGES;

查看用户表验证是否添加成功

select  User,authentication_string,Host from user;

原文地址:https://www.cnblogs.com/iXiAo9/p/13722968.html