1.下载mysql镜像,8.0为最新版本。若指定其他版本更改后边版本号
docker pull mysql:8.0
2.查看镜像,验证是否下载成功
docker images
3.在root下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql
4.配置信息
docker run -id \
-p 3306:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0
参数说明
- \为换行,$PWD为当前目录,linux中的知识 .这里$PWD相当于/root/mysql目录
- **-p 3306:3306** 将容器的3306端口映射到主机的3306端口
- ** --name=c_mysql ** :起名字
- **-v $PWD/conf:/etc/mysql/conf.d** :将主机当前目录下的 conf/my.cnf 挂载到容器的/etc/mysql/my.cnf。配置文件
- **-v $PWD/logs:/logs **: 将主机当前目录下的logs目录挂载到容器的/logs。日志目录
- ** -v $PWD/data:/var/lib/mysql ** :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 目录。数据目录
- **-e MYSQL_ROOT_PASSWORD=123456** :初始化root用户的密码
5.进入容器并登录myql
docker exec -it c_mysql /bin/bash
mysql -u root -p 123456
配置成功
6.连接本机mysql
6.1.查看ip
6.2.权限配置,初次连接需要配置docker容器中的权限
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
- 注:**123456**是mysql连接到docker容器中所需要的密码,不是docker容器中登录数据库的密码
7.使用sql工具连接,我这里使用的是Sqlyog
- **address是Linux中的ip地址,密码是docker中添加权限的连接密码,数据库连接自己建的,也可先不连接**