1.拉去mysql镜像
docker pull mysql:5.7
2.查看并启动镜像
#列出已下载的镜像
docker images
#启动容器,挂载配置文件和数据
docker run --name mysql -v D:/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v D:/docker/mysql/logs:/logs -v D:/docker/mysql/data:/var/lib/mysql -v D:/docker/mysql/conf/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:5.7
启动成功
命令行
desktop
3. 进入容器内bash,连接mysql
docker exec -it mysql bash
注意:我这里使用的是Git bash,提示错误the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'
在命令前加winpty即可
#进入容器内
winpty docker exec -it mysql bash
#连接mysql
mysql -u root -p
4. 添加远程登录用户
CREATE USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
5. 授予权限
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';
6.使用navicat连接成功
本地连接成功
7.修改本地配置文件验证是否生效
修改mysql/conf/my.cnf文件
[mysqld]
#设置表名区分大小写
lower_case_table_names=1
重启mysql查看效果,已经生效
修改配置生效
如果修改配置没有生效, 修改容器中mysql.cnf 文件的权限为644, 再重启即可生效
chmod 644 mysql.cnf
作者:小鱼大头