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
我們可以根據找到的文件進行修改,之后再重新啟動容器。