MySQL主从数据库配置和常见问题
轉載自? ?MySQL主從數據庫配置和常見問題
本篇主要介紹MySQL的主從數據配置方法。公司運維能力不是太好,數據庫最近出了一次問題,導致丟失了一天的數據,并且某個服務宕機一晚上。為了避免再次出現類似問題,我決定添加一個Slave服務器,以避免數據丟失和服務宕機的問題。
MySQL本身就提供了主從備份方式,下面介紹配置方法。
1. 環境說明
兩臺服務器,系統均為CentOS7系統,MySQL版本均為5.7及以上,保證從庫版本與主庫版本相同,或者高于主庫版本。
2. 配置方法
2.1 主庫配置
主庫主要是修改一下MySQL的配置文件,讓主庫記錄binlog,并且提供一個從庫用來連接主庫的用戶。下面是具體的配置及解釋。
vim /path/to/my.cnf在my.cnf中的[mysqld]下面,添加以下配置。 server-id=1 ## 以下是可選配置 # binlog文件前綴 lob-bin=mysql-bin # 忽略以下數據庫 binlog-ignore-db=information_schema,mysql # 備份以下數據庫 binlog-do-db=test添加后,執行以下語句,重啟MySQL服務。 systectl restart mysqld之后,登錄MySQL命令行使用以下語句給從庫連接主庫用的用戶授權。注意根據個人情況修改其中的ip和用戶信息。
grant FILE on *.* to 'root'@'111.111.111' identified by '123456'; grant replication slave on *.* to 'root'@'111.111.111.111' identified by '123456'; flush privileges;2.2 從庫配置
從庫需要配置需要同步的數據庫以及與主庫的連接方式。
vim /path/to/my.cnf #將以下配置根據自身情況加入其中 server-id=3 ## 以下是可選配置 # 備份那些數據庫 replicate-do-db=database1 # 不備份的數據庫 replicate-ignore-db=mysql # 忽略備份導致的錯誤 slave-skip-errors=all # 添配置以后,執行下面的語句重啟MySQL服務。 systectl restart mysqld之后,登錄MySQL命令行,執行以下語句,設置連接相關的配置。
其中的master_log_file和master_log_pos可以通過在主庫中執行show master status查看。
stop slave; change master to master_host='111.111.111.111',master_user='root',master_password='123456',master_log_file='mysql-bin.000001', master_log_pos=2391; start slave2.3 查看主從庫狀態
以下命令均在MySQL命令行執行。
# 主庫狀態 show master status # 從庫狀態 show slave status # 開、停止備份(從庫服務器執行) start slave stop slave3. 常見問題
3.1 Could not find first log file name in binary log index file
如果查看從庫狀態發現此問題,請查看主庫狀態,將其中的File和Position字段通過在從庫中執行以下SQL語句寫入從庫配置中。
change master to master_log_file='mysql-bin.000001',master_log_pos=3726?
總結
以上是生活随笔為你收集整理的MySQL主从数据库配置和常见问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何白嫖电脑性能怎么白嫖笔记本电脑
- 下一篇: Mybatis中强大的功能元素:resu