部署集群基础环境

1.部署集群基础环境
问题
本案例要求为MySQL集群准备基础环境,完成以下任务操作:
数据库授权
部署MySQL双主多从结构
配置本机hosts解析记录
方案
使用4台RHEL 6虚拟机,如图-1所示。其中192.168.4.10、192.168.4.11作为MySQL双主服务器,192.168.4.12、192.168.4.13作为主服务器的从服务器。
在这里插入图片描述
图-1
步骤
实现此案例需要按照如下步骤进行。
步骤一:准备环境
1)安装6台RHEL6.4虚拟机,配置好YUM,关闭SELinux、Iptables、NetworkManager服务并禁止该开机自动启动(所有主机操作)
2)配置各主机IP地址和主机名
3)配置本地/etc/hosts配置文件实现基于主机名的解析(所有主机操作)
样例配置如下
[root@master1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.4.10 master1 master1.tarena.com
192.168.4.11 master2 master2.tarena.com
192.168.4.12 slave1 slave1.tarena.com
192.168.4.13 slave2 slave2.tarena.com
192.168.4.100 master1 master1.tarena.com

[root@master1 ~]# ping -c 2 master1
PING master1 (192.168.4.10) 56(84) bytes of data.
64 bytes from master1 (192.168.4.10): icmp_seq=1 ttl=64 time=0.378 ms
64 bytes from master1 (192.168.4.10): icmp_seq=2 ttl=64 time=0.396 ms

— master1 ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.378/0.387/0.396/0.009 ms
[root@master1 ~]#
步骤二:部署数据库主机
1)安装启动数据库(4台数据库主机master1,master2,slave1,slave2执行以下操作)
[root@master1 ~]# tar xvf MySQL-5.6.15-1.el6.x86_64.rpm-bundle.tar //解压软件包
… …
[root@master1 ~]# rpm -Uvh MySQL-*.rpm //安装MySQL
… …
[root@master1 ~]# service mysql start
Starting MySQL. [确定]
2)初始化配置数据库(4台数据库主机master1,master2,slave1,slave2执行以下操作)
[root@master1 ~]# cat /root/.mysql_secret //查看随机生成密码

The random password set for the root user at Thu May 7 22:15:47 2015 (local time): wW1BNAjD

[root@master1 ~]# mysql -uroot -pwW1BNAjD //使用随机生成密码登陆
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.15

Copyright © 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> set password=password(“pwd123”); //修改数据库root密码
Query OK, 0 rows affected (0.49 sec)

mysql> exit
Bye
[root@master1 ~]#
步骤三:部署双主多从结构
1)数据库授权(4台数据库主机master1,master2,slave1,slave2执行以下操作)
部署主从同步只需要授权一个主从同步用户即可,但是我们要部署MySQL-MMM架构,所以在这里我们将MySQL-MMM所需用户一并进行授权设置。再授权一个测试用户,在架构搭建完成时测试使用。
[root@master1 ~]# mysql -uroot -ppwd123
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.15 MySQL Community Server (GPL)

Copyright © 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

数据库授权部分为了方便试验我们直接允许所有地址访问了,真实环境需谨慎
mysql> grant replication slave on . to slaveuser@"%" identified by “pwd123”; //主从同步授权
Query OK, 0 rows affected (0.00 sec)

mysql> grant replication client on . to monitor@"%" identified by “monitor”; //MMM所需架构用户授权
Query OK, 0 rows affected (0.06 sec)

mysql> grant replication client,process,super on . to agent@"%" identified by “agent”; //MMM所需架构用户授权
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on . to root@"%" identified by “pwd123”; //测试用户授权
Query OK, 0 rows affected (0.00 sec)

mysql>
2)开启主数据库binlog日志、设置server_id(master1,master2)
master1设置:
[root@master1 ~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
server_id=10 //设置server_id,该值集群中不可以重复
log-bin //开启bin-log日志

Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[root@master1 ~]# service mysql restart //重启MySQL服务
Shutting down MySQL… [确定]
Starting MySQL… [确定]
[root@master1 ~]# ls /var/lib/mysql/master1-bin* //查看binlog日志是否生成
/var/lib/mysql/master1-bin.000001 /var/lib/mysql/master1-bin.index
[root@master1 ~]#
master2设置:
[root@master2 ~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
server_id=11
log-bin

Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root@master2 ~]# service mysql restart
Shutting down MySQL… [确定]
Starting MySQL. [确定]
[root@master2 ~]# ls /var/lib/mysql/master2-bin.*
/var/lib/mysql/master2-bin.000001 /var/lib/mysql/master2-bin.index
3)从库设置server_id
slave1设置:
[root@slave1 ~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
server_id=12

Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root@slave1 ~]# service mysql restart
Shutting down MySQL… [确定]
Starting MySQL… [确定]
[root@slave1 ~]#
slave2设置:
[root@slave2 ~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
server_id=13

Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[root@slave2 ~]# service mysql restart
Shutting down MySQL… [确定]
Starting MySQL. [确定]
[root@slave2 ~]#
4)配置主从从从关系
配置master2、slave1、slave2成为master1的从服务器
查看master1服务器binlong日志使用节点信息:
[root@master1 ~]# mysql -uroot -ppwd123
… …
mysql> show master status\G
*************************** 1. row ***************************
File: master1-bin.000001
Position: 120
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)

mysql>
设置master2为master1从:
[root@master2 ~]# mysql -uroot -ppwd123
… …
mysql> change master to //设置主服务器信息
-> master_host=“192.168.4.10”, //设置主服务器IP地址
-> master_user=“slaveuser”, //设置主从同步用户
-> master_password=“pwd123”, //设置主从同步密码
-> master_log_file=“master1-bin.000001”, //设置主库binlog日志名称
-> master_log_pos=120; //设置主从binlog日志使用节点
Query OK, 0 rows affected, 2 warnings (0.06 sec)

mysql> start slave; //启动同步进程
Query OK, 0 rows affected (0.00 sec)

mysql> show slave status\G //查看主从是否成功
… …
启动同步进程后查看IO节点和SQL节点是否为Yes如果均为Yes表示主从正常。
Slave_IO_Running: Yes //IO节点正常
Slave_SQL_Running: Yes //SQL节点正常
… …
mysql>
设置slave1为master1从:
[root@slave1 ~]# mysql -uroot -ppwd123
… …
mysql> change master to
-> master_host=“192.168.4.10”,
-> master_user=“slaveuser”,
-> master_password=“pwd123”,
-> master_log_file=“master1-bin.000001”,
-> master_log_pos=120;
Query OK, 0 rows affected, 2 warnings (0.12 sec)

mysql> start slave;
Query OK, 0 rows affected (0.16 sec)

mysql> show slave status\G
… …
Slave_IO_Running: Yes //IO节点正常
Slave_SQL_Running: Yes //SQL节点正常
… …
mysql>
设置slave2为master1从:
[root@slave2 ~]# mysql -uroot -ppwd123
… …
mysql> change master to
-> master_host=“192.168.4.10”,
-> master_user=“slaveuser”,
-> master_password=“pwd123”,
-> master_log_file=“master1-bin.000001”,
-> master_log_pos=120;
Query OK, 0 rows affected, 2 warnings (0.13 sec)

mysql> start slave;
Query OK, 0 rows affected (0.27 sec)

mysql> show slave status\G
… …
Slave_IO_Running: Yes //IO节点正常
Slave_SQL_Running: Yes //SQL节点正常
… …
mysql>
5)配置主主从从关系,将master1配置为master2的从
查看master2的binlog使用信息:
[root@master2 ~]# mysql -uroot -ppwd123
… …
mysql> show master status\G
*************************** 1. row ***************************
File: master2-bin.000001
Position: 120
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)

mysql>
设置master1成为master2的从:
[root@master1 ~]# mysql -uroot -ppwd123
… …
mysql> change master to
-> master_host=“192.168.4.11”,
-> master_user=“slaveuser”,
-> master_password=“pwd123”,
-> master_log_file=“master2-bin.000001”,
-> master_log_pos=120;
Query OK, 0 rows affected, 2 warnings (0.31 sec)

mysql> start slave;
Query OK, 0 rows affected (0.27 sec)

mysql> show slave status\G
… …
Slave_IO_Running: Yes //IO节点正常
Slave_SQL_Running: Yes //SQL节点正常
… …
mysql>
6)测试主从架构是否成功
master1更新数据,查看其它主机是否同步:
[root@master1 ~]# mysql -uroot -ppwd123
… …
mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
±-------------------+
4 rows in set (0.00 sec)

mysql> create database tarena;
Query OK, 1 row affected (0.06 sec)

mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| tarena |
| test |
±-------------------+
5 rows in set (0.00 sec)

mysql>
master2主机查看:
[root@master2 ~]# mysql -uroot -ppwd123 -e “show databases”
Warning: Using a password on the command line interface can be insecure.
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| tarena |
| test |
±-------------------+
[root@master2 ~]#
slave1主机查看:
[root@slave1 ~]# mysql -uroot -ppwd123 -e “show databases”
Warning: Using a password on the command line interface can be insecure.
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| tarena |
| test |
±-------------------+
[root@slave1 ~]#
slave2主机查看:
[root@slave2 ~]# mysql -uroot -ppwd123 -e “show databases”
Warning: Using a password on the command line interface can be insecure.
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| tarena |
| test |
±-------------------+
[root@slave2 ~]#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董筱杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值