千家信息网

mysql主从及读写分离

发表于:2025-02-14 作者:千家信息网编辑
千家信息网最后更新 2025年02月14日,主从同步1 主配置把237配置为主数据库服务器授权用户从42数据库服务器连接自己的时候有拷贝数据的权限grant replication slave on *.* to slaveuser@"172.
千家信息网最后更新 2025年02月14日mysql主从及读写分离

主从同步

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 &


0