數據庫A 做為主服務,數據庫B做為同步庫(注: 兩邊數據庫庫必須要一至,要不然會有不斷的錯誤信息出來,改啊改,就是不成功) 1、配置 master vi /etc/my.cnf [mysqld] server-id=1 log-bin=log path binlog-do-db=xxxx //表示只備份xxxx這個庫 ,可以配置多個庫 binlog-ignore-db=yyy //表示忽略yyy庫 注: 如果binlog-do-db,binlog-ignore-db不加會默認備份全部庫 重啟數據庫 service mysqld restart 登陸到數據庫 mysql -uroot -p123456 創建一個備份帳號,最好具有 slave, reload,super,權限 grant peplication slave,reload,super on *.* to 'backup'@'%' identfiend by '1234' with grant option; 注:with grant option 這個必須有,表示backup 具有可操作權限 flush privileges; show grant for 'backup'@'%'; //查看用戶 show master status; 如果 ip 地址改變: change master to master_host='xxx',master_user='backup',master_password='1234',master_port='3306',master_log_file='master-log.000001',master_log_pos=4, master_connect_retry=10; 2、配置 slave vi /etc/my.cnf server-id=2 change master to master_host='xxx',master_user='backup',master_password='1234',master_port='3306',master_log_file='master-log.000001',master_log_pos=4, master_connect_retry=10; 注:日志名稱,用戶名,密碼必須與master 一至 show slave status\G; 查看信息是否正確 slave start; 用show slave status\G; 只要確定 : slave_io_running=yes slave_sql_running=yes 就搞定了。 我遇到了2個問題 第一個: slave_io_running=connecting slave_sql_running=yes last_io_error: error connecting master ...... 找了老半天,原來是用戶名密碼整錯了,真是浪費時間 第二個:(有點暈了) slave_io_running=no slave_sql_running=yes last_io_error: 意思是說兩邊的庫和表一至,同步沒有找到相應的庫和表 然後 : slave stop; reset slave; // 重新設置slave change master to master_host='xxx',master_user='backup',master_password='1234',master_port='3306',master_log_file='master-log.000001',master_log_pos=4, master_connect_retry=10; 再來一遍,沒辦法,最後終於看到 slave_io_running=yes slave_sql_running=yes last_io_error: 為空