Linux docker mysql


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 而不是东八区,也就是+800,那么修改配置文件
cat /etc/mysql/my.cnf
vi /etc/mysql/my.cnf
default-time-zone = '+08:00'
如果出现 vi command not found 则执行第7点
修改完成后重启 mysql 容器,再次进入 mysql 查看系统时间和时区

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM