mysql 5.5 5.6 主从_mysql5.6+主从集的版本号(mysql5.5主机和从机载带后,5.5在设置有一定的差距)...
怎么安裝mysql數據庫。這里不說了,僅僅說它的主從復制,過程例如以下
在進行主從設置之前
首先確保mysql主從server之間的數據庫port防火墻互相打開,
盡量確保主從數據庫賬戶一致性(主從切換使用)。否則將操作失敗,
其次是確保mysql賬戶對mysql數據庫文件夾有“可讀寫”權限非“可寫”權限,
為了確保不出意外,最好刪除mysql之前陳舊的mysql-bin、mysql日志。然后重新啟動mysql
在主server上新建一個new_test數據庫并為其建一個test表,然后導出導入到從server上(測試主從使用)server上可替換成現有的數據庫進行操作(我這里主從上各建立一個同樣賬戶和password,同樣的port配置,為了主從切換,方便測試,記得防火墻port和日志位置讀寫權限一定要有的)
1、主從server分別作下面操作:
1.1、版本號一致
1.2、初始化表,并在后臺啟動mysql
1.3、改動root的password
2、改動主servermaster:
#vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin?? //[必須]啟用二進制日志
server-id=1 ? ? ? //[必須]默認是1。一般取IP最后一段
port=1223
bing-address=0.0.0.0
log-bin=mysql-bin.log(必須,數據庫日志文件,主從必須)
binlog-do-db =new_test (要記錄的數據庫,多個可換行多次設置)
replicate-do-db =new_test (要復制的數據庫。多個可換行過個設置)
binlog-ignore-db=mysql //不正確mysql庫進行日志記錄操作 例如以下意思雷同
binlog-ignore-db=test
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
replicate-ignore-db=test ?//不正確test進行復制操作 例如以下意思雷同
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
3、改動從serverslave:
#vi /etc/my.cnf
[mysqld]
port=1223
bing-address=0.0.0.0 ?//意思是同意全部 機器 server安全起見可設置為指定的serverIP地址 如 116.128.1.10等
log-bin=mysql-bin.log
server-id=2
binlog-do-db =new_test
replicate-do-db =new_test
binlog-ignore-db=mysql
binlog-ignore-db=test
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
replicate-ignore-db=test
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema
4、重新啟動兩臺server的mysql
service mysql restart
5、在主server上建立帳戶并授權slave:
#/usr/local/mysql/bin/mysql -u數據庫賬戶名 -p數據庫password
mysql>GRANT REPLICATION SLAVE ON *.* to 'newback_username'@'%' identified by 'newback_pwd'; //一般不用root帳號,“%”表示全部client都可能連(安全起見可將%替換成指定serverIP,如116.121.1.10)。僅僅要帳號。password正確。
6、登錄主server的mysql。查詢master的狀態(可在phpmyadmin 中運行次操作)
mysql>show master status;
+------------------+----------+--------------+------------------+
| File???????????? | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | ? ? ?120 |????????????? |????????????????? |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
注:運行完此步驟后不要再操作主serverMYSQL,防止主server狀態值變化
7、配置從serverSlave:
mysql>change master to master_host='116.121.1.10',master_port=1223,master_user='newback',master_password='cctv@12315#$',master_log_file='mysql-bin.000001',master_log_pos=120? ?//注意不要斷開,master_port為mysqlserver端口號(無引號),master_user為運行同步操作的數據庫賬戶,“120”無單引號(此處的120就是show
master status 中看到的position的值,這里的mysql-bin.000001就是file相應的值)。(此處可在從serverphpmyadmin中用sql語句操作)
Mysql>start slave;??? //啟動從server復制功能(可在phpmyadmin中運行該SQL語句)
8、檢查從server復制功能狀態:
mysql> show slave status\G (可在從serverphpmyadmin中運行“show slave status” SQL語句)
*************************** 1. row ***************************
……………………(省略部分)
Slave_IO_Running: Yes?????? //此狀態必須YES
Slave_SQL_Running: Yes?????? //此狀態必須YES
……………………(省略部分)
注:Slave_IO及Slave_SQL進程必須正常執行。即YES狀態,否則都是錯誤的狀態(如:當中一個NO均屬錯誤)。
以上操作過程,主從server配置完畢。
9、主從server測試:
在主servernew_test數據庫中的test表中插入 或者更新一條記錄。假設從server相同更新 插入 則配置正確,否則錯誤
10、mysql5.5+版本號與mysql5.5之前版本號的一些差異:
當中大部分的內容相似
主要是5.5之后不再支持master打頭的參數
如:
master-host。master-user,master-password,master-port等。
錯誤例如以下:
[ERROR] /usr/local/mysql/bin/mysqld: unknown variable 'master-host=192.168.2.182'
主配置不變,依然是
server-id=1
log-bin=log
binlog-do-db=database1 ?//須要同步的數據庫
binlog-do-db=database2
binlog-ignore-db=mysql ?//被忽略的數據庫
…………(省略部分)
從配置改為(注意下列凝視部分。統統被廢棄了):
server-id=2
#master-host=192.168.124.51
#master-user= AffairLog
#master-password= password
#master-port=3306
#master-connect-retry=60
replicate-do-db=database1 ?//同步的數據庫
replicate-do-db=database2
replicate-ignore-db=mysql ?//被忽略的數據庫
其次是不能直接使用slave start 或者start slave 命令了。由于那樣會報錯,
我們須要使用change master to
即:
mysql>change master to
>master_host='192.168.124.51',
>master_user='username',
>master_password='password',
>master_log_file='bin-log.000001',
>master_log_pos=120;
然后start slave;
(也可一句話運行如:"change master to master_host='116.121.1.10',master_port=1223,master_user='newback',master_password='cctv@12315#$',master_log_file='mysql-bin.000001',master_log_pos=120"
【實際命令去掉外面的雙引號,port號和master_log_pos無報價】)
其他一切不變
總結
以上是生活随笔為你收集整理的mysql 5.5 5.6 主从_mysql5.6+主从集的版本号(mysql5.5主机和从机载带后,5.5在设置有一定的差距)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mybatis mysql 乐观锁_基于
- 下一篇: 奇瑞汽车股票代码