修改mysql配置檔案
一般mysql配置檔案在目錄/etc下,叫my.cnf (如果找不到的話也有可能在這些目錄下:/etc/my.cnf,/etc/mysql/my.cnf,/usr/local/mysql/etc/my.cnf,~/.my.cnf)
windows 下該檔案在 mysql 安裝目錄 下。
主機配置如下:
server-id = 2 #伺服器id (主從必須不一樣)
log-bin = mysql-bin #打開日志(主機需要打開),這個mysql-bin也可以自定義,這裡也可以加上路徑,如:/home/www/mysql_bin_log/mysql-bin
#作為主機的配置
binlog-do-db = db1 # 要給從機同步的庫
binlog-do-db = db2 # 要給從機同步的庫
binlog-ignore-db = mysql # 不給從機同步的庫
expire_logs_days = 2 # 自動清理 2 天前的log檔案,可根據需要修改
從機配置如下:
server-id = 3 #伺服器id (主從必須不一樣)
#作為從機的配置
master-host = x.x.x.x # 目标主機IP
master-user = user # 目标主機使用者名
master-password = password # 目标主機密碼
master-port = 3306 # 目标主機端口
master-connect-retry = 60 # 連結重連間隔(機關s)
replicate-ignore-db = mysql # 不從主機同步的資料庫(多個寫多行)
replicate-do-db = db1 # 要從主機同步的庫(多個寫多行)
replicate-do-db = db2 # 要從主機同步的庫(多個寫多行)
log-slave-update # 啟用從機伺服器上的slave日志功能,使這台計算機可以用來構成一個鏡像鍊(A->B->C)
slave-skip-errors # 跳過錯誤,從機一般應該配置該項
PS:将這些配置添加到配置檔案[mysqld] 下方即可,原來的配置盡量保留
配置檔案修改好之後,重新開機 主機 mysql,重新開機從機 mysql。
若要兩台伺服器互為主從,配置裡面 主從的配置都加上即可。
最後附上一些常用的 主從 查詢 及 設定指令:
mysql 指令行下
show slave status\G; //在從機上查詢從機狀态
show master status\G; //在主機上查詢主機狀态
show master logs;//在從機上查詢主機二進制log檔案清單
如果發現 從機同步出錯,可以在從機上手動設定一下同步狀态:
slave stop;
change master to master_host='192.168.10.11',master_user='user',master_password='password',master_log_file='mysql-bin.000056',master_log_pos=25094639;//隻設定必要的字段即可
slave start;
如果上面的方法解決不了問題,可以試試下面的方法(在從機上):
slave stop;
reset slave;
slave start;
還有一些操作主機的指令,也是mysql指令行下的指令:
show binary logs; //檢視主機二進制log檔案清單
flush logs; //送出日志(就是新生成一個二進制log檔案)
flush logs;
reset master;//清除之前所有的二進制log檔案,并且新的log檔案字尾将從 000001 開始
第一次寫部落格,不好請見諒,有不對的地方歡迎指正 ^_^