首页 > 数据库 > MySQL > 正文

怎样基于生产环境mysql 5.6.25主从部署新的mysql从库操作指南

2024-07-24 12:31:57
字体:
来源:转载
供稿:网友
       怎样基于生产环境mysql 5.6.25主从部署新的mysql从库操作指南:

1,背景需求
 
       由于现网的环境,经过近期监控,发现MYSQL主库的IO读写压力比较大,需要部署新的MYSQL从库,进一步分摊MYSQL主库的压力,以及现存MYSQL从库的读负载。为了减少对于MYSQL主库的IO读取性能冲击,采用基于MYSQL现存从库构建新的MYSQL从库。
  
2,现存的数据库架构
 
     编号   IP地址                数据库角色
 
      1      10.0.0.12            数据库主库
 
      2      10.0.0.16            数据库从库1
 
      3,准备好一个新的数据库从库2
 
编号   IP地址                数据库角色
 
3      10.0.0.14              数据库从库2
 
4,在新的数据库从库2,配置server_id=3,区别于上述2个节点
 
5,在数据库从库1,关闭sql thread,为了实现MYSQLDUMP备份的数据一致性;
 
mysql> system hostname
 
standby3
 
mysql> stop slave;
 
Query OK, 0 rows affected (0.01 sec)
 
6,在数据库从库1,获取show slave status之如下标注的2个列
 
(注:用于基于这个列的值,用于后续构建新的MYSQL从库)
 
mysql> show slave status/G;
  
1 row in set (0.00 sec)
 
ERROR:
 
No query specified
 
mysql>
 
 
7,在MYSQL从库1导出数据库备份
 
[root@standby3 mysql]# mysqldump -uroot -psystem --databases zxydb >/dump_dir/for_create_2_slave.dump
 
Warning: Using a password on the command line interface can be insecure.
 
[root@standby3 mysql]#
 
 
 
8,重启MYSQL从库1的SQL THREAD
 
mysql> start slave sql_thread;
 
Query OK, 0 rows affected (0.01 sec)
 
 
9,把MYSQL从库1 复制数据库份到 MYSQL从库2
 
[root@standby2mysql mysql]# mkdir -p /dump_dir
 
[root@standby2mysql mysql]#
 
[root@standby3 mysql]# scp /dump_dir/for_create_2_slave.dump  root@10.0.0.14:/dump_dir/
 
root@10.0.0.14's password:
 
for_create_2_slave.dump                                                                                                                                    100% 2530     2.5KB/s   00:00    
 
[root@standby3 mysql]#
 
10,在MYSQL从库2导入DUMP文件
 
[root@standby2mysql mysql]# mysql -uroot -psystem </dump_dir/for_create_2_slave.dump
 
 
5 rows in set (0.00 sec)
 
11,在MYSQL主库创建用于构建MYSQL从库2连接MYSQL主库的复制数据库用户
 
mysql> create user 'repl'@'10.0.0.14' identified by 'system';
 
Query OK, 0 rows affected (0.00 sec)
 
mysql> grant replication slave on *.* to 'repl'@'10.0.0.14';
 
Query OK, 0 rows affected (0.00 sec)
 
12,在MYSQL从库2构建至MYSQL主库的主从复制关系
 
mysql> change master to master_host='10.0.0.12',master_user='repl',master_password='system',master_log_file='binlog.000002',master_log_pos=120;
 
Query OK, 0 rows affected, 2 warnings (0.03 sec)
 
13,在MYSQL从库2 启动主从复制服务
 
mysql> start slave;
 
Query OK, 0 rows affected (0.01 sec)
 
14,在MYSQL从库2查看主从复制运行
 
mysql> show slave status/G;
 
*************************** 1. row ***************************
 
               Slave_IO_State: Waiting for master to send event
 
                  Master_Host: 10.0.0.12
 
                  Master_User: repl
 
                  Master_Port: 3306
 
                Connect_Retry: 60
 
              Master_Log_File: binlog.000002
 
          Read_Master_Log_Pos: 437
 
               Relay_Log_File: standby2mysql-relay-bin.000003
 
                Relay_Log_Pos: 280
 
        Relay_Master_Log_File: binlog.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:
 
   
4 rows in set (0.00 sec)
 
16,在MYSQL主库执行,可见现配置2个MYSQL从库
 
mysql> show slave hosts;
 
+-----------+------+------+-----------+--------------------------------------+
 
| Server_id | Host | Port | Master_id | Slave_UUID                           |
 
+-----------+------+------+-----------+--------------------------------------+
 
|         3 |      | 3306 |         1 | 699a379f-e36d-11e9-a4e2-0800274dcc79 |
 
|         2 |      | 3306 |         1 | 891bc123-fd72-11e9-8cf5-080027dddbcd |
 
+-----------+------+------+-----------+--------------------------------------+

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表