数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

MySql配置主从复制读写分离


发布日期:2020年10月18日
 
MySql配置主从复制读写分离

myini配置文件中

主从复制需要通过二进制日志文件进行须开启二进制日志功能并配置Server ID

[mysqld]

logbin=mysqlbin

serverid=

serverid 为 之间默认为(拒绝所有slave)

innodb引擎耐用性增强

innodb_flush_log_at_trx_commit= and sync_binlog=

For the greatest possible durability and consistency in a replication setup using InnoDB with transactions you should use innodb_flush_log_at_trx_commit= and sync_binlog= in the master f file

slave 配置

serverid=

防止服务器主机名修改

relaylog=mysqldrelaybin

master

创建具有复制权限的账户repl

GRANT REPLICATION SLAVE ON **

> TO repl@rem IDENTIFIED BY slavepass;

mysql> FLUSH TABLES WITH READ LOCK;

对于InnoDB表的注意 FLUSH TABLES WITH READ LOCK块 COMMIT操作

保留客户端发出 FLUSH TABLES语句运行这样读锁仍然有效如果你退出客户端该锁被释放

使用 SHOW MASTER STATUS语句来确定当前的二进制日志文件的名称和位置

的mysql> SHOW MASTER STATUS;

+ + + + +

|文件|位置| Binlog_Do_DB | Binlog_Ignore_DB |

+ + + + +

MYSQLbin | |测试|说明书MYSQL |

+ + + + +

文件栏显示的日志文件的名称和位置显示在文件中的位置在这个例子中二进制日志文件是 mysqlbin的位置是记录这些值你需要它们以后当你设立的奴隶他们表示复制坐标奴隶从主应该开始处理新的更新

如果主已经运行以前没有二进制日志启用通过SHOW MASTER STATUS或mysqldump的主数据显示日志文件的名称和位置值将是空的在这种情况下你需要使用指定的奴隶的日志文件和位置后的值是空字符串()和

你现在有你需要的信息可以让从开始读取的二进制日志在正确的位置开始复制

设置主从连接信息

mysql> CHANGE MASTER TO

> MASTER_HOST=master_host_name

> MASTER_USER=replication_user_name

> MASTER_PASSWORD=replication_password

> MASTER_LOG_FILE=recorded_log_file_name

> MASTER_LOG_POS=recorded_log_position;

查看连接状态 show slave status\G;

读写分离配置

windows设置PATH

创建代理 为Master 为只读

sc create Proxy DisplayName= MySQL Proxy start= auto binPath= F:\tool\mysqlproxywinxx\bin\mysqlproxysvcexe

proxyaddress=localhost: proxybackendaddresses=: proxyreadonlybackendaddresses=:

net start proxy

C:\> sc delete proxy

配置完之后测试从服务器 stop slava

通过代理进行insert操作在进行查询然后start slave 主从复制没有问题

读写分离暂时还未测试

               

上一篇:修改Linux下MySQL编码

下一篇:如何使用ODBC接口访问MySQL