1.下载mysql 镜像
docker pull mysql
2.运行挂载 mysql 配置文件和数据文件
docker run -d --name mysql5.7 -p 3307:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_USER="hc" -e MYSQL_PASSWORD="123456" 容器id/容器名 --character-set-server=utf8 --collation-server=utf8_general_ci
-d 后台启动
-p 端口映射,将3306映射到外部端口
-v 卷挂载,将mysql内部文件同步到linux的文件中,做到备份
-e 环境配置,这里配置的是mysql密码
-e MYSQL_USER=”hc” :添加hc用户
-e MYSQL_PASSWORD=”123456″:设置添加的用户密码
-e MYSQL_ROOT_PASSWORD=123456:设置root用户密码
–character-set-server=utf8:设置字符集为utf8
–collation-server=utf8_general_cli:设置字符比较规则为utf8_general_cli
--name 容器名称
注:需要配置mysql账号密码
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=密码 -d mysql:tag
where some-mysql is the name you want to assign to your container,
my-secret-pw is the password to be set for the MySQL root user and tag is the tag specifying the MySQL version you want. See the list above for relevant tags.
3.启动成功后,使用navicat 服务器ip:3307 root/密码 直接可以连接上
注:docker mysql8
docker run -p 3306:3306 --name docker-mysql -v /docker-data/mysql/conf:/etc/mysql/conf.d -v /docker-data/mysql:/etc/mysql -v /docker-data/mysql/mysql-files:/var/lib/mysql-files/ -v /docker-data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root密码 -e MYSQL_USER="hc" -e MYSQL_PASSWORD=自定义用户密码 -d 镜像id --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
4.查看mysql进程
docker ps -a
[root@ls ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
68803ec89ebd d1dc36cf8d9e "docker-entrypoint.s…" 2 hours ago Up 2 hours 33060/tcp, 0.0.0.0:3307->3306/tcp, :::3307->3306/tcp docker-mysql
5.进入mysql容器,并登陆mysql
docker exec -it docker-mysql bash
mysql -u root -p
6.开启远程访问权限
命令:use mysql;
命令:select host,user from user;
命令:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
命令:flush privileges;
7.navicat 即可连接docker 上安装的mysql