1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > php mysql读写分离主从复制_mysql主从复制 读写分离原理及实现

php mysql读写分离主从复制_mysql主从复制 读写分离原理及实现

时间:2023-11-15 22:13:27

相关推荐

php mysql读写分离主从复制_mysql主从复制 读写分离原理及实现

主从复制,读写分离原理

在实际的生产环境中,对数据库的读和写都在同一个数据库服务器中,是不能满足实际需求的。无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的。因此,通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力。

mysql读写分离配置(两台mysql版本一样的数据库)

主库配置:vi/etc/f//在mysql配置文件中添加如下语句

server-id=207#myql唯一标识一般用服务器ip最后的数

log-bin=mysql-bin#将mysql二进制日志取名为mysql-bin

binlog_format=mixed#二进制日志的格式,有三种:statement/row/mixed

#binlog_checksum=none#mysql5.6的binlog_checksum默认设置的是CRC32。5.5或者更早的版本没有这个变量binlog_checksum所以在版本不一致时候可以开启

binlog-do-db=database_name#设置同步的库如果有多个库可以复制该条改对应的库名就可以

重启mysql contost7.2重启MySQL语句:systemctlrestartmysql

登录数据库:mysql-uusername-p然后输入密码(输入密码是不会显示的哦!)

然后查看主库配置情况:showmasterstatus;

+------------------+----------+------------------------+------------------+-------------------+

|File|Position|Binlog_Do_DB|Binlog_Ignore_DB|Executed_Gtid_Set|

+------------------+----------+------------------------+------------------+-------------------+

|mysql-bin.00001|120|database_name|||

+------------------+----------+------------------------+------------------+-------------------+

第一列日志文件名称第二列位置第三列同步的数据库名称

下边开始配置从库:

打开从库的f (windows打开my.ini)添加如下 和主库差不多 但是要求server-id要不一样log-bin=mysql-bin

server-id=2

binlog_format=mixed

登录从数据库 执行如下:changemasterto

master_host='11.11.11.111',#ip

master_user='username',#用户名

master_password='password',#密码

master_log_file='mysql-bin.000001',#主库的日志文件名称

master_log_pos=120;#主库的position的数值

startslave;#启动slave

showslavestatus;#查看状态主要看Slave_IO_Running与Slave_SQL_Runing如果都是Yes就可以

#如果有一个是No可以看后边的Last_IO_Error与Last_SQL_Error中的内容报什么错误。

下边就可以去主库测试了看看从库会不会同步

#主库执行SQL

CREATETABLEtest4

(

LastNamevarchar(30)

)

然后去看对应的从库中是否有对应的表!

好了 ,mysql的主从同步就搞定了!! 快去试试吧!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。