Docker部署MySQL
获取镜像
docker pull mysql
启动镜像
$ docker run
--name 自定义容器名
-d -p 3306:3306
-e MYSQL_ROOT_PASSWORD = "自定义Root用户密码"
-e MYSQL_USER="自定义用户名"
-e MYSQL_PASSWORD="自定义用户密码"
mysql
自定义本地配置文件和本地存储数据
$ docker run
--name mysql
-v /本地配置文件目录:/etc/mysql/conf.d
-v /本地数据存储目录:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD = "123"
-d mysql:tag
如果本地相应的目录文件,会自动创建
解决mysql8.0远程连接文件
- 通过交互方式进入容器:
docker exec -it mysql bash
- 进入数据库
- 进行授权远程连接(mysql 8.0跟之前的授权方式不同)
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;--刷新权限
- 更改加密规则(Navicat只支持旧版本的加密,需要更改mysql的加密规则)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
- 更新root用户密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;