1.拉取mysql
# 默认为最新的
docker pull mysql
2.创建挂在目录
可以在tmp目录下执行
mkdir -p mysql/data
mkdir -p mysql/conf
3.导入挂载文件
在mysql/conf中新建hmy.cnf
[mysqld]
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
server-id=1000
4.创建容器
docker run \
--name mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /tmp/mysql/data:/var/lib/mysql \
-d \
mysql
5.进入容器
docker exec -it mysql bash
6.登录mysql
mysql -uroot -p
密码:123456
7. 修改mysql允许Navicat远程连接
show databases;
use mysql;
grant all privileges on *.* to root@'%' identified by '123456';
flush privileges;
或者
grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
use mysql
update user set host='%' where user='root';
grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;