mysql主從同步配置

參考網址:http://blog.csdn.net/yangsongpan502/article/details/2861457


1.master上操作(web114)



GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO [email protected] IDENTIFIED BY '******';
flush privileges;


#vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin   //[必須]啓用二進制日誌
server-id=1       //[必須]服務器唯一ID,默認是1
binlog_format=mixed


2.slave上操作(web188)
#vi /etc/my.cnf
server-id=2
log-bin=mysql-bin
binlog_format=mixed
#event_scheduler=1 //註釋掉事件任務

expire_logs_days=10


replicate_ignore_db=amon //過濾數據庫
replicate_ignore_db=hmon
replicate_ignore_db=smon


replicate-ignore-table=bi_monitor.user_monitor //過濾單個表
replicate-wild-ignore-table=bhdp.merge% //過濾多個表

query_cache_type=0 //運行中出現invalidating query cache entries (table) 異常,然後配置此項解決了
query_cache_size=0 //運行中出現invalidating query cache entries (table) 異常,然後配置此項解決了





########後面的參數5.5版本測試不支持,需運行時配置同步##############
master-host=172.16.4.114
master-user=backup
master-password=***




3.重啓兩臺服務器的mysql
service mysql restart


4.複製數據到slave


主服務操作:

mysql>flush tables with read lock;

mysql>show master status;

此處主要記錄下file和position的值,slave端要使用到。
mysql> show master status;
+------------------+-----------+--------------+------------------+
| File             | Position  | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.000002 | 446935067 |              |                  |
+------------------+-----------+--------------+------------------+




備份完後,主服務器操作:
mysql>unlock tables;


備份操作:
/*
myisam引擎的數據庫可以直接cp文件,但注意得手動備份存儲過程、函數和事件,bhdp有innodb引擎的表
tar -zcvf part.tar.gz kettle/ wap_data wap_data_temp/
tar -zcvf bhdp.tar.gz ./bhdp/bhdp_* ./bhdp/db.opt  ./bhdp/merge_*frm  ./bhdp/sys_logs*
tar -zcvf bi_monitor.tar.gz bi_monitor/db.opt  bi_monitor/rpt_* bi_monitor/t_partition_log.* bi_monitor/user_stat_*
scp *.tar.gz root@web188:/var/lib/mysql/
*/

(備份bhdp bi_monitor data hive kettle rtc_report wap_data wap_data_temp)



mysqldump -h172.16.4.114 -ubi_admin -p*** --default-character-set=utf8 --single-transaction --triggers -R -E  --databases bhdp --no-data >bhdp_1.sql
mysqldump -h172.16.4.114 -ubi_admin -p*** --default-character-set=utf8 --single-transaction --databases bhdp --tables bhdp_alarm_main_switch bhdp_datasource bhdp_dim_clt_type bhdp_hdelete bhdp_merge bhdp_report_datemap bhdp_report_event bhdp_report_event_export bhdp_table_lockstatus bhdp_table_read_info bhdp_table_read_info_test bhdp_web_user sys_logs >bhdp_2.sql

mysqldump -h172.16.4.114 -ubi_admin -p*** --default-character-set=utf8 --single-transaction --triggers -R -E  --databases bi_monitor --no-data >bi_monitor_1.sql
mysqldump -h172.16.4.114 -ubi_admin -p*** --default-character-set=utf8 --single-transaction --databases bi_monitor --tables t_partition_log  user_stat_url_config user_stat_url_report user_stat_url_sqltype user_stat_url_type user_stat_website_trend >bi_monitor_2.sql

mysqldump -h172.16.4.114 -ubi_admin -p*** --default-character-set=utf8 --single-transaction --triggers -R -E  --databases data >data.sql

mysqldump -h172.16.4.114 -ubi_admin -p*** --default-character-set=utf8 --single-transaction --triggers -R -E  --databases hive >hive.sql

mysqldump -h172.16.4.114 -ubi_admin -p*** --default-character-set=utf8 --single-transaction --triggers -R -E  --databases kettle >kettle.sql

mysqldump -h172.16.4.114 -ubi_admin -p*** --default-character-set=utf8 --single-transaction --triggers -R -E  --databases rtc_report >rtc_report.sql

mysqldump -h172.16.4.114 -ubi_admin -p*** --default-character-set=utf8 --single-transaction --triggers -R -E  --databases wap_data --no-data >wap_data_1.sql
mysqldump -h172.16.4.114 -ubi_admin -p*** --default-character-set=utf8 --single-transaction --databases wap_data --tables dim_user_reg_channel wap_hive_report wap_im_report wap_log_login wap_log_pay wap_log_photo wap_log_regist wap_log_sign >wap_data_2.sql

mysqldump -h172.16.4.114 -ubi_admin -p*** --default-character-set=utf8 --single-transaction --triggers -R -E  --databases wap_data_temp >wap_data_temp.sql


從服務器導入:
mysql -h172.16.4.188 -ubi_admin -p***

drop database bhdp;
drop database bi_monitor;
drop database data;
drop database hive;
drop database kettle;
drop database rtc_report;
drop database wap_data;
drop database wap_data_temp;

source bhdp_1.sql
source bhdp_2.sql
source bi_monitor_1.sql
source bi_monitor_2.sql
source data.sql
source hive.sql
source kettle.sql
source rtc_report.sql
source wap_data_1.sql
source wap_data_2.sql
source wap_data_temp.sql


5.配置從服務器Slave:
//注意不要斷開,446935067無單引號。
   mysql>change master to master_host='172.16.4.114',master_user='backup',master_password='*******',master_log_file='mysql-bin.000002',master_log_pos=446935067;   

//啓動從服務器複製功能
   Mysql>start slave;    
   
6.在從服務器進行show salve status驗證
mysql> SHOW SLAVE STATUS\G


7.設置自動清理MySQL binlog日誌,配置my.cnf:
expire_logs_days = 10
在運行時修改:

show binary logs; 
show variables like '%log%'; 
set global expire_logs_days = 10;

清除之前可以採用相應的備份策略。
手動刪除10天前的MySQL binlog日誌:
PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY); 
show master logs;

MASTER和BINARY是同義詞。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章