• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MySql配置主从复制 读写分开

mysql 搞代码 4年前 (2022-01-09) 33次浏览 已收录 0个评论

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配置文件中

主从复制需要通过二进制日志文件进行,须开启二进制日志功能并配置Ser本文来源gaodai#ma#com搞@@代~&码*网/ver ID

?

[mysqld]log-bin=mysql-binserver-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’;

?

<span><span><span>mysql> </span></span><strong class="userinput"><code><span><span>FLUSH TABLES WITH READ LOCK;</span></span></code></strong></span>

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

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

?

?

?

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

?

<span><span><span>的mysql> </span></span><strong class="userinput"><code><span><span>SHOW MASTER STATUS;</span></span></code></strong></span><span><span><span>+ ------------------ + ---------- + -------------- + ---- -------------- +</span></span></span><span><span><span>|“文件”|“位置| Binlog_Do_DB | Binlog_Ignore_DB |</span></span></span><span><span><span>+ ------------------ + ---------- + -------------- + ---- -------------- +</span></span></span><span><span><span>MYSQL-bin.000003 | 73 |测试|说明书,MYSQL |</span></span></span><span><span><span>+ ------------------ + ---------- + -------------- + ---- -------------- +</span></span></span>

?

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

?

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

?

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

?

设置主从连接信息

?

mysql> <span><strong class="userinput"><code>CHANGE MASTER TO</code></strong>    ->     <strong class="userinput"><code>MASTER_HOST='<em class="replaceable"><code>master_host_name</code></em>',</code></strong>    ->     <strong class="userinput"><code>MASTER_USER='<em class="replaceable"><code>replication_user_name</code></em>',</code></strong>    ->     <strong class="userinput"><code>MASTER_PASSWORD='<em class="replaceable"><code>replication_password</code></em>',</code></strong>    ->     <strong class="userinput"><code>MASTER_LOG_FILE='<em class="replaceable"><code>recorded_log_file_name</code></em>',</code></strong>    ->     <strong class="userinput"><code>MASTER_LOG_POS=<em class="replaceable"><code>recorded_log_position</code></em>;</code></strong></span>

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

?

?读写分离配置

windows设置PATH?

?

创建代理 222为Master 223为只读

?

<span><strong class="userinput"><code>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"</code></strong></span>

?

 <strong class="userinput"><code><span>net start proxy</span></code></strong>
C:\> <strong class="userinput"><code><span>sc delete proxy</span></code></strong>

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

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

读写分离暂时还未测试


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MySql配置主从复制 读写分开

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址