1.拉取 mysql 鏡像(指定版本在 mysql 后加 :5.6)
docker pull mysql
2.查看鏡像
docker images
3.創建數據庫容器
docker run -p 3306:3306 --name mysql --restart=always -e MYSQL_ROOT_PASSWORD=PassWord -d mysql:5.6
如果要映射目錄
docker run -p 3306:3306 --name mysql --restart=always \
-v /home/mysql/conf:/etc/mysql \
-v /home/mysql/logs:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=PassWord \
-d mysql:5.6
4.查看 mysql 是否運行
docker ps
5.嘗試 navicat 連接如果報錯則進入 docker 添加 navicat 訪問權限
1)進入 mysql docker
docker exec -it mysql bash
2)添加 navicat 權限
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'PassWord';
3)刷新權限並再次嘗試 navicat 連接
FLUSH PRIVILEGES;
6.如果依然無法連接則檢查防火牆是否阻止或直接關閉防火牆
systemctl stop firewalld
7.修改 /etc/mysql/my.cnf 文件時如果出現 vi command not found 則安裝 vim
apt-get update apt-get install vim
8.docker 下 mysql 時區差8個小時設置方法
進入容器 docker exec -it mysql bash 登錄 mysql mysql -uroot -p 查看系統時間和時區 select now(); show variables like '%time_zone%'; 如果 time_zone 時區是 SYSTEM 而不是東八區,也就是+8:00,那么修改配置文件 cat /etc/mysql/my.cnf vi /etc/mysql/my.cnf default-time-zone = '+08:00' 如果出現 vi command not found 則執行第7點 修改完成后重啟 mysql 容器,再次進入 mysql 查看系統時間和時區