1.检查容器状态
1 [root@localhost ~]# docker ps
执行这个命令可以看到所有正在运行当中的容器,如果加上-a参数,就可以看到所有的容器包括停止的。
我们可以看到容器正在运行当中,本机映射端口为3306->3306
2.进入容器
[root@localhost ~]# docker exec -it 885d3a6928f2 /bin/bash
执行这个命令可以进入正在启动的容器内部,需要加上容器的id。
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
查看一下容器内部的目录结构,我们发现和一个普通的linux系统的目录基本一致
3、登录mysql并进行操作
1 root@885d3a6928f2:/# mysql -u root -p
输入命令,并输入mysql数据库密码
4、查看是否开启binlog日志
mysql> show variables like 'log_bin';
可以看到binlog默认是关闭的,我们Ctrl+C退出mysql命令行
5.编辑配置文件开启binlog
root@885d3a6928f2:/# vim /etc/mysql/mysql.conf.d/mysqld.cnf
添加开启binlog配置,保存退出:
这一个参数的作用是mysql会根据这个配置自动设置log_bin为on状态,自动设置log_bin_index文件为你指定的文件名后跟.index
第二个参数 ,用的如果是5.7及以上版本的话,重启mysql服务会报错,这个时候我们必须还要指定这样一个参数,随机指定一个不能和其他集群中机器重名的字符串,如果只有一台机器,那就可以随便指定了
按ctrl+D退出容器(或者exit命令)
6、重启mysql容器:
[root@localhost ~]# docker restart 885d3a6928f2
7、查看容器是否启动成功
[root@localhost ~]# docker ps
可以看到容器启动成功。
8、进入容器查看binlog是否开启
查看是否开启binlog:
可以看到binlog已经开启。
9.一些特殊情况的处理
如果我们改错配置文件,导致容器启动不起来,我们想把配置文件改回来怎么办呢?
首先我们根据docker去查看错误日志,后面加上容器的id。
[root@localhost ~]# docker logs 885d3a6928f2
我们可以根据查询到的日志结果找出错误的原因。
之后在根目录下搜索这个文件:
[root@localhost ~]# find / -name my.cnf
我们可以根据找到的文件进行修改,之后再重新启动容器。