主从同步
1 主配置
把237配置为主数据库服务器
授权用户从42数据库服务器连接自己的时候有拷贝数据的权限
grant replication slave on *.* to slaveuser@"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 -h272.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 &