拉取镜像
docker pull mysql:5.7
创建数据目录和配置文件
在宿主机创建放置mysql的配置文件的目录和数据目录,并且进行授权
sudo mkdir -p /usr/mysql/conf /usr/mysql/data /var/log/mysql
sudo chmod -R 755 /usr/mysql/ /var/log/mysql
创建配置文件
vim /usr/mysql/conf/my.cnf
添加以下内容到上述创建的配置文件中
[client]#socket = /usr/mysql/mysqld.sockdefault-character-set = utf8mb4[mysqld]#pid-file = /var/run/mysqld/mysqld.pid#socket = /var/run/mysqld/mysqld.sock#datadir = /var/lib/mysql#socket = /usr/mysql/mysqld.sock#pid-file = /usr/mysql/mysqld.piddatadir = /usr/mysql/datageneral_log = 1general_log_file = /var/log/mysql/access.loglog-error = /var/log/mysql/error.logcharacter_set_server = utf8mb4collation_server = utf8mb4_binsecure-file-priv= NULL# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0# Custom config should go here!includedir /etc/mysql/conf.d/
启动创建容器
docker run --name pwc-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7
参数解释: -v : 挂载宿主机目录和 docker容器中的目录,前面是宿主机目录,后面是容器内部目录 -d : 后台运行容器 -p 映射容器端口号和宿主机端口号 -e 环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码
查询容器
配置远程的Navicat连接
进入容器内部
sudo docker exec -it mysql /bin/bash
连接mysql
使用mysql库
修改访问主机以及密码等,设置为所有主机可访问
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
刷新
flush privileges;
使用Navicat连接数据库时就可以正常连接
