安装docker
参考这个 https://www.jianshu.com/p/482d1eb4d9a2
下载mysql官方提供的docker镜像
sudo docker pull mysql
列出下载docker的镜像
sudo docker images
本地新建一个文件夹
mkdir data
启动mysql服务器
sudo docker run --name=mysql01 -e MYSQL_ROOT_PASSWORD=Huobi1234 -v $PWD/data:/var/lib/mysql -p 3306:3306 -d mysql
–name=mysql 这个属性是为启动的MySQL容器设置一个别名
-d 以守护进程方式运行 (后台运行)
-e MYSQL_ROOT_PASSWORD在启动MySQL的时候设置密码,这里密码以root演示
-v $PWD/data/:/var/lib/mysql 通过Volume把容器内的文件映射到物理机
查看mysql日志
sudo docker logs mysql02
连接mysql服务器
sudo docker exec -it mysql02 mysql -u root -p
容器管理
sudo docker restart mysql02
sudo docker stop mysql02
sudo docker start mysql02
sudo docker rm mysql02
当使用rm时,先stop
进入容器内部, 在已启动的Docker容器中启动mysql客户端
sudo docker exec -it mysql02 bash
输入登陆mysql命令
mysql -u root -pHuobi1234
退出容器内部
ctrl + D / exit
navicat远程连接mysql
需要先在docker内连接mysql服务器
查看用户信息
select host,user,plugin,authentication_string from mysql.user;
备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码
再运行
ALTER user ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘1234’;
FLUSH PRIVILEGES;
再次查看
select host,user,plugin,authentication_string from mysql.user;
已变成mysql_native_password
打开navicat新建连接
IP地址填写外部内部,填写termius的known host,不是docker的ip,也不是dockermachine ip
确保3306端口开放
连接成功