1、安装 MySQL
1.1、拉取mysql
docker pull mysql:5.7
1.2、启动mysql
docker run -p 3306:3306 –name mysql
-v /mydata/mysql/log:/var/log/mysql
-v /mydata/mysql/data:/var/lib/mysql
-v /mydata/mysql/conf:/etc/mysql
-e MYSQL_ROOT_PASSWORD=root
-d mysql:5.7
参数说明
-p 3306:3306 将容器的3306端口映射到主机的3306端口,3306是和宿主机的通信接口,所有docker内部容器的连接使用3306接口,集群配置需连接容器内部3306端口,故最好保持前后端口一致
–name mysql 容器名字
-v/mydata/mysql/log:/var/log/mysql 将配置文件夹挂载到主机
-v/mydata/mysql/data:/var/lib/mysql 将日志文件夹挂载到主机
-v/mydata/mysql/conf:/etc/mysql 将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root 初始化 root 用户的密码
-d mysql:5.7 以守护进程方式启动 mysql:5.7 镜像
1.3. 查看启动是否成功
docker ps
注:如启动失败可通过docker logs mysql查看日志排错
注意:密码root密码是上面设置的root
1.8、修改mysql开启远程访问
1.8.1、查看用户信息
mysql> select host,user,plugin,authentication_string from mysql.user;
1.8.2、开启远程访问:
mysql> ALTER user ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘root’;
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
1.9、查看日志
docker logs mysql
1.10、开启binlog日志
查看是否开启binlog日志:
show variables like ‘%log_bin%’
新增内容如下:
#binlog setting
log-bin=/var/lib/mysql/mysql-bin server-id=12345
第一个参数:作用是mysql会根据这个配置自动设置log_bin为on状态,自动设置log_bin_index文件为你指定的文件名后跟.index
第二个参数:用的如果是5.7及以上版本的话,重启mysql服务会报错,这个时候我们必须还要指定这样一个参数,随机指定一个不能和其他集群中机器重名的字符串,如果只有一台机器,那就可以随便指定了
设置完后重启mysql容器
docker restart mysql
show variables like ‘%log_bin%’
这个时候,在数据库中创建一个数据库、表,插入一些数据,就会在/var/lib/mysql容器中看到以下,或者是看挂载出来对应的目录上(/mydata/mysql/data)