拉取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;