当前位置:Gxlcms > mysql > MySql配置主从复制读写分开

MySql配置主从复制读写分开

时间:2021-07-01 10:21:17 帮助过:26人阅读

MySql配置主从复制 读写分离 ? mysql版本:5.6.13 OS:windows server 2008 Master 配置 ? my.ini配置文件中 主从复制需要通过二进制日志文件进行,须开启二进制日志功能并配置Server ID ? [mysqld]log-bin=mysql-binserver-id=1 server-id 为1-2 32 ? -1 ? 之

MySql配置主从复制 读写分离

?

mysql版本:5.6.13

OS:windows server 2008

Master 配置

?

my.ini配置文件中

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

?

[mysqld]
log-bin=mysql-bin
server-id=1

server-id 为1-232?-1? 之间,默认为0(拒绝所有slave

?

innodb引擎耐用性增强

innodb_flush_log_at_trx_commit=1?and?sync_binlog=1

?

For the greatest possible durability and consistency in a replication setup using?InnoDB?with transactions, you should use?innodb_flush_log_at_trx_commit=1?and?sync_binlog=1?in the master?my.cnf?file.

?

?slave 配置

server-id=2

防止服务器主机名修改

?relay-log=mysqld-relay-bin

?

master

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

GRANT REPLICATION SLAVE ON *.*
-> TO 'repl'@'remotehost.mydomain.com' 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 |
+ ------------------ + ---------- + -------------- + ---- -------------- +
MYSQL-bin.000003 | 73 |测试|说明书,MYSQL |
+ ------------------ + ---------- + -------------- + ---- -------------- +

?

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

?

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

?

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

?

设置主从连接信息

?

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?

?

创建代理 222为Master 223为只读

?

sc create "Proxy" DisplayName= "MySQL Proxy" start= "auto" binPath= "F:\tool\mysql-proxy-0.8.2-winx64-x86\bin\mysql-proxy-svc.exe 
--proxy-address=localhost:3306 --proxy-backend-addresses=10.133.10.222:3306 --proxy-read-only-backend-addresses=10.133.10.223:3306"

?

 net start proxy
C:\> sc delete proxy

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

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

读写分离暂时还未测试

人气教程排行