mysql cpu高 主从配置_MySQL高可用配置(主从复制)

主从复制包含两个步骤:

在 master 主服务器(组)上的设置,以及在 slave 从属服务器(组)上的设置。

环境:

MASTER: 192.168.155.101

SLAVE: 192.168.155.102

注意点:

1. 配置主服务器 master需要启用二进制日志。

2. 给 master 设置唯一的 server_id ,所有的 slave 从属服务器也要设置 server_id。server_id值可以是整数型的数字(1 ~ 2^31-1), 在同一个复制组(replicating group)中的每台服务器的server_id都必须是唯一的。

3. slave 从属服务器需要有连接并从master复制的权限, 通常是为每一台slave 创建一个单独的用户(user),并且只授予复制的权限(REPLICATION SLAVE 权限).也可使用共用的用户权限。

MASTER配置:

First Node (MASTER: 192.168.155.101)

---------------

vi /etc/my.cnf.d/server.cnf

[mysqld]

server-id=1

log-bin=master-bin

binlog-do-db=my-db #需要启用事务日志的数据库名

binlog-ignore-db=mysql #不启用事务日志的系统数据库名

以上两行不指定的话,将对全部数据库启用事务日志。

GRANT REPLICATION SLAVE ON *.* TO 'rep_user'@'%' IDENTIFIED BY 'rep_pass';

FLUSH PRIVILEGES;

# service mysql restart

查看Master当前二进制日志的position时,需要阻止任何数据的提交,并锁定所有的表。

MariaDB [(none)]> FLUSH TABLES WITH READ LOCK;

MariaDB [(none)]> SHOW MASTER STATUS;

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

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

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

| master-bin.000001 | 245 | | |

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

1 row in set (0.00 sec)

记下File列的日志文件名和Position列的位置数,在SLAVE上同步时需要。

备份MASTER上的数据库并在SLAVE上手动导入。

释放表锁定

MariaDB [(none)]> UNLOCK TABLES;

SLAVE配置:

Other Node (SLAVE: 192.168.155.102)

---------------

vi /etc/my.cnf.d/server.cnf

[mysqld]

server-id=2

read-only=on

relay-log=relay-bin

innodb_recovery_update_relay_log=1

relay_log_recovery=1

replicate-do-db=my-db #需要同步事务日志的数据库名

replicate-ignore-db=mysql #不需要同步事务日志的系统数据库名

以上两行不指定的话,将对全部数据库同步事务日志。

# service mysql restart

MariaDB [(none)]> show variables like '%relay%';

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

| Variable_name | Value |

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

| innodb_recovery_update_relay_log | ON |

| max_relay_log_size | 0 |

| relay_log | relay-bin |

| relay_log_index | |

| relay_log_info_file | relay-log.info |

| relay_log_purge | ON |

| relay_log_recovery | ON |

| relay_log_space_limit | 0 |

| sync_relay_log | 0 |

| sync_relay_log_info | 0 |

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

10 rows in set (0.00 sec)

开始同步

MariaDB [(none)]> CHANGE MASTER TO

-> MASTER_HOST='192.168.155.101',

-> MASTER_USER='rep_user',

-> MASTER_PASSWORD='rep_pass',

-> MASTER_PORT=3306,

-> MASTER_LOG_FILE='master-bin.000001',

-> MASTER_LOG_POS=245,

-> MASTER_CONNECT_RETRY=10;

Query OK, 0 rows affected (0.08 sec)

MariaDB [(none)]> START SLAVE;

查看SLAVE状态:

MariaDB [(none)]> show slave status\G;

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.155.101

Master_User: rep_user

Master_Port: 3306

Connect_Retry: 10

Master_Log_File: master-bin.000002

Read_Master_Log_Pos: 411

Relay_Log_File: relay-bin.000006

Relay_Log_Pos: 696

Relay_Master_Log_File: master-bin.000002

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 411

Relay_Log_Space: 1269

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 1

1 row in set (0.00 sec)

查看Slave_IO_Running和Slave_SQL_Running,如果都是Yes说明搭建成功,就可以建表插入数据测试了。

如果需要暂停SLAVE复制

MariaDB [(none)]> STOP SLAVE;

如果出现SLAVE不同步的现象,可以先暂停SLAVE复制,再执行一次同步操作即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值