当前位置:Gxlcms > 数据库问题 > l15mysql多机负载设置

l15mysql多机负载设置

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

1、MySQL任何一台数据库服务器都可以作为主数据库服务器,打开MySQL的配置文件(对于windows就是MySQL安装目录下的my.ini文件,对于linux通常就是/etc/my.cnf文件)[mysqld]server-id=1datadir=/var/lib/mysqllog-bin=/var/lib/mysql/mysql-binsocket=/var/lib/mysql/mysql.sockMySQL进行主从复制是通过二进制的日志文件来进行,所以我们必须开启MySQL的日志功能,同时每一台数据库服务器都需要指定一个唯一的server-id,通常主数据库服务器我们指定为1。
重启服务主数据库服务器上创建一个可以进行复制的用户账号
GRANT replication slave ON *.* TO ‘repuser‘@‘%‘ IDENTIFIED BY ‘123456‘;
flush privileges;
%可以直接指定复制的IP地址!replication slave是MySQL数据库中表示复制的权限名称,repuser则是表示从数据库服务器登陆到主数据库服务器时用到的用户名称
查询主机日志和positionshow master STATUS;
技术分享
2、配置从机器[mysqld]server-id=2 #区别于主机log-bin=/var/lib/mysql/mysql-bin配置同步SQL 需要主IP 复制的用户名密码  logfile和Positionmysql>change master tomaster_host=‘192.168.1.12‘, master_user=‘repuser‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=1006;
启动Slave同步进程mysql> start slave;

主从同步检查
mysql> show slave status\G
==================================
Slave_IO_State:
Master_Host: 192.168.1.12
Master_User: repuser
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000005
Read_Master_Log_Pos: 415
Relay_Log_File: localhost-relay-bin.000008
Relay_Log_Pos: 561
Relay_Master_Log_File: mysql-bin.000005
Slave_IO_Running: YES
Slave_SQL_Running: YES
Replicate_Do_DB:
……………省略若干……………
Master_Server_Id: 1

1 row in set (0.01 sec)其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。二、双主热备,双主+HAProxy!1、在做数据库的主主同步时需要设置自增长的两个相关配置:auto_increment_offset和auto_increment_increment。在主主同步配置时,需要将两台服务器的auto_increment_increment增长量都配置为2,而要把auto_increment_offset分别配置为1和2.这样才可以避免两台服务器同时做更新时自增长字段的值之间发生冲突。log-bin-index[=file]  设置此参数是指定二进制索引文件的路径与名称。log-bin [=file_name]  设置此参数表示启用binlog功能,并制定路径名称。binlog_format:  STATEMENT模式(SBR) ROW模式(RBR) MIXED模式(MBRsync_binlog =1 sync_master_info = 1sync_replay_log = 1sync_relay_long_info =1 #以上4个参数最好加上!

2、详细设置Aserver-id=1datadir=/var/lib/mysqllog-bin=/var/lib/mysql/mysql-binbinlog_format = MIXEDrelay_log = /var/lib/mysql/relay-logauto-increment-increment = 2auto-increment-offset = 1sync_binlog = 1sync_master_info = 1sync_relay_log = 1sync_relay_log_info = 1详细设置Bserver-id=2basedir=C:\mysql-5.6.30-winx64datadir=C:\mysql-5.6.30-winx64\datalog-bin=C:\mysql-5.6.30-winx64\data\mysql-binbinlog_format = MIXEDrelay_log = C:\mysql-5.6.30-winx64\data/relay-log  #注意如果在Sql下 \r 不对 应该写/rauto-increment-increment = 2auto-increment-offset =2sync_binlog = 1sync_master_info = 1sync_relay_log = 1sync_relay_log_info = 13、在两台机器上同时新建同步用户GRANT replication slave ON *.* TO ‘repuser‘@‘%‘ IDENTIFIED BY ‘123456‘;
flush privileges;配置同步change master to
master_host=‘192.168.1.13‘, master_user=‘repuser‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000007‘,master_log_pos=402;开启同步
start slave;
4、Haproxy配置

相关资源利用keepalived和haproxy配置mysql的高可用负载均衡
http://www.cnblogs.com/tae44/p/4717334.htmlAzure SLB + httpd + ILB + HAProxy + Atlas + MySQL
http://www.cnblogs.com/hengwei/p/4754420.html



来自为知笔记(Wiz)

l15mysql多机负载设置

标签:

人气教程排行