相關資訊
本類常用軟件
-
福建農(nóng)村信用社手機銀行客戶端下載下載量:584204
-
Windows優(yōu)化大師下載量:416904
-
90美女秀(視頻聊天軟件)下載量:366961
-
廣西農(nóng)村信用社手機銀行客戶端下載下載量:365699
-
快播手機版下載量:325855
mysql數(shù)據(jù)庫同步配置詳解
2012/12/29 19:56:07 出處:本站原創(chuàng) 人氣:432次 字號:小 中 大
網(wǎng)站最重要的數(shù)據(jù),如果數(shù)據(jù)異常而你又沒有做好備份那是很難恢復的,今天小編教你將兩臺服務器的mysql數(shù)據(jù)庫進行同步,這樣子我們如果我們網(wǎng)站出了問題,我們就可以用最快的速度進行切換,這樣子才能不影響用戶的訪問。
環(huán)境:兩臺機器,已經(jīng)安裝好了mysql(盡量版本相同,版本也可以不相同。兩臺機器在同一個網(wǎng)絡,可以互相ping通)
主機A(master):192.168.1.80 (ubuntu server 11.10 & mysql 5.5.17)
主機B(slave):192.168.1.81(centos 6.3 & mysql 5.1.61)
1: 在master上授權slave的復制賬戶和權限,使slave可以從主機A上去復制數(shù)據(jù)。
- mysql>grant all privileges on oa.* to admin@localhost identified by '在這里定義密碼';
- mysql>grant select,insert,update,delete on *.* admin@localhost identified by '密碼';
- mysql>grant select,insert,update,delete on *.* admin@'192.168.1.%' identified by '密碼';
- mysql> revoke all privileges on *.* from admin@localhost; ← 取消admin用戶對數(shù)據(jù)庫的操作權限
- mysql>delete from mysql.user where user='admin' and host='localhost'; ← 刪除admin用戶
- mysql> flush privileges; ← 刷新,使以上操作生效
# iptabels -A INPUT -m state --state NEW -m tcp -ptcp --dport 3306 -j ACCEPT
3:修改主機A的mysql配置文件my.cnf,并設置編碼為UTF-8.
- [mysqld]
- #注意:該部分server-id=Master_id必須為1到232–1之間的正整數(shù)值。從服務器的ID必須與主服務器的ID不相同。
- server-id =1
- #用戶slaver讀取的二進制日志文件。
- log-bin=msyql-bin
- #要復制的數(shù)據(jù)庫replication-do-db=oa
- #數(shù)據(jù)庫存放的目錄
- datadir=/var/lib/mysql
- socket=/var/lib/mysql/mysql.sock
- # Default to using old password format for compatibility with mysql 3.x
- # clients (those using the mysqlclient10 compatibility package).
- old_passwords=1 ← 找到這一行,在這一行的下面添加新的規(guī)則,讓MySQL的默認編碼為UTF-8
- default-character-set = utf8 ← 添加這一行
- 然后在配置文件的文尾填加如下語句:
- [mysql]
- default-character-set = utf8
- server-id =2
主機A上master上面需要的同步的數(shù)據(jù)庫比較大時,先鎖定數(shù)據(jù)表,然后導出數(shù)據(jù)庫。再到主機B slave上導入數(shù)據(jù)庫。
- mysql> flush tables with read lock; mysql> show master status;+------------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000583 | 6682 | oa19 | |+------------------+----------+--------------+------------------+1 row in set (0.00 sec)
- 在不停主庫的情況下備份數(shù)據(jù)庫,root@80:~# mysqldump-uroot -pxxxx -h127.0.0.1 --databases oa --master-data=1 > bak.sql
- [root@sample~]#scp /home/back/mysql_bak.$(date +%F).sql.gz root@192.168.1.81:/tmp/
- [root@sample~]#gzip -d mysql_bak.$(date +%F).sql.gz
- 在從服務器上導入數(shù)據(jù)
- [root@sample~]#mysql>source /home/back/mysql_bak.$(date +%F).sql
mysql>change master to master_host='192.168.1.80',
- >master_user='admin',
- >master_password='123456',
- >master_log_file='mysql-bin.000583',
- >master_log_pos=107;
- mysql>start slave;
- mysql>show slave status\G;
- 注意:此處的master_log_pos=107或者master_port=3306處,千萬不要添加引號,負責會出現(xiàn)語法的錯誤。
熱門評論
最新評論