1. 程式人生 > >mysql主從及讀寫分離

mysql主從及讀寫分離

主從與讀寫分離

主從同步

1 主配置

237配置為主數據庫服務器

授權用戶從42數據庫服務器連接自己的時候有拷貝數據的權限

grant replication slave on *.* to [email protected]"172.40.7.42" identified by "123456";

vim /etc/my.cnf

[mysqld]

server_id=237

log-bin=master #必須開啟

:wq

service mysql restart

show master status;

2 查看日誌文件,日誌偏移量(從服務器上用)

配置從數據庫服務器 42

驗證是否能夠使用授權用戶連接主數據庫服務器

mysql -h172.40.7.237 -uslaveuser -p123456

vim /etc/my.cnf

[mysqld]

server_id=42

log-bin=slave #可選項

:wq

service mysql restart

使用自己的數據庫管理員登錄 ,配置自己做237的從數據庫 服務器。

change master to master_host="172.40.7.237",master_user="slaveuser",master_password="123456",master_log_file="master.000001",master_log_pos=120;

start slave;

show slave status\G;

Slave_IO_Running: YES

Slave_SQL_Running: YES

驗證?

主從同步工作過程?

cd /var/lib/mysql/

master.info 主數據庫服務器的信息

relay-log.info 中繼日誌信息

www-relay-bin.000000 中繼binlog日誌文件

www-relay-bin.index 記錄當前已有的中繼binlog日誌文件名

Slave_IO_Running: YES

拷貝 master binlog sql語句 -> relaybinlog

錯誤:1 change master to 配置信息錯誤

2 物理連接不通

Last_IO_Errno: 0

Last_IO_Error: 錯誤信息

stop slave;

change master to master_host="172.40.7.237",master_user="slaveuser",master_password="123456",master_log_file="master.000001",master_log_pos=120;

start slave;

Slave_SQL_Running: YES

執行本機relaybinlog日誌裏sql語句,把數據寫進本 機數據庫裏。

錯誤:執行本機relaybinlog日誌裏sql語句時,使用的庫或表不 存在。

查看錯誤信息

Last_SQL_Errno: 錯誤編號

Last_SQL_Error: 錯誤信息

3 mysql主從同步結構模式?

一主一從

一主多從

()vim /etc/my.cnf

[mysqld]

log-slave-updates

:wq

4 mysql主從同步配置常用參數

vim /etc/my.cnf

主數據庫服務器端的配置參數

binlog-do-db=mysql, studb 只允許從數據庫服務器同步自己的哪些庫

binlog-ignore-db=test, db1 不允許從數據庫服務器同步自己的哪些庫

----------------------------------------------------------------

從數據庫服務器端的配置參數

replicate-do-db=mysql, studb 只同步主數據庫服務器上哪些庫

replicate-ignore-db=test,db1 不同步主數據庫服務器上哪些庫

relay-log=dbsvr2-relay-bin 設置relaybinlog日誌文件名

log-slave-updates 允許級聯復制

十二:配置mysql讀寫分離功能

1 安裝

yum -y install lua

tar -zxvf mysql-proxy-tar.gz

mv mysql-proxy-0.8.3-linux-rhel5-x86-64bit/ /usr/local/mysqlproxy

cd /usr/local/mysqlproxy/share/doc/mysql-proxy/

chmod +x rw-splitting.lua

2 啟動

啟動代理服務

/usr/local/mysqlproxy/bin/mysql-proxy --help

/usr/local/mysqlproxy/bin/mysql-proxy -P 172.40.7.77:3306(虛擬vip) -r 172.40.7.42:3306 -b 172.40.7.237:3306 -s /usr/local/mysqlproxy/share/doc/mysql-proxy/rw-splitting.lua &


本文出自 “13262050” 博客,請務必保留此出處http://13272050.blog.51cto.com/13262050/1962626

mysql主從及讀寫分離