mysql数据库集群实现高可用读写分离
时间:2019-05-14 13:19 来源:linux.it.net.cn 作者:IT
mysql主从复制
环境信息
操作系统:centos6.8
#mysql版本
mysql-community-client-5.7.25-1.el6.x86_64.rpm
mysql-community-server-5.7.25-1.el6.x86_64.rpm
#节点
192.168.57.201(主)、192.168.57.202(从)
安装mysql数据库
#192.168.57.202
[root@test202 redis-cluster]# find / -name mysql
/var/lib/mysql
/usr/local/mysql
[root@test202 redis-cluster]# rm -rf /var/lib/mysql
[root@test202 redis-cluster]# rm -rf /usr/local/mysql
[root@test202 redis-cluster]#
#安装server
rpm -ivh mysql-community-server-5.7.25-1.el6.x86_64.rpm --force --nodeps
#安装client
#修改mysql登录密码
#my.cnf
[mysqld]
skip-grant-tables
#直接登录mysql,不需要输入密码
#修改root的密码
flush privileges;
set password for root@localhost = password('123456');
flush privileges;
#注释掉my.cnf
[mysqld]
#skip-grant-tables
#重启mysqld 服务
配置主从同步
#日志文件名称
log-bin=master-a-bin
#二进制日志的格式,有row、statement和mixed三种类型
binlog-format=ROW
#要求各个服务器的这个id必须不一样
server-id=1
#同步的数据库名称
binlog-do-db=yidiankt
配置从服务器登录主服务器的账号授权
grant replication slave on *.* to 'root'@'192.168.57.201' identified by '123456';
flush privileges;
从服务器的配置(my.cnf)
#日志文件名称
log-bin=master-a-bin
#二进制日志的格式,跟主服务器一样
binlog-format=ROW
#要求各个服务器的这个id必须不一样
server-id=2
#中继日志执行之后,这些变化是否需要计入自己的binarylog。当你的从服务器需要作为另外一个服务器的主服务器的时候需要打开。就是双主互相备份,或者多主循环备份。
log-slave-updates=true
重启主服务器
service mysqld restart
show master status;
1
2
3
从服务器配置
#重启
service mysqld restart
change master to master_host='192.168.57.201',master_user='root',master_password='123456',master_port=3306,master_log_file='master-a-bin.000001',master_log_pos=154;
#开启从服务器
start slave;
#查看状态
show slave status \G;
测试主从同步
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
(责任编辑:IT)
mysql主从复制 环境信息 操作系统:centos6.8 #mysql版本 mysql-community-client-5.7.25-1.el6.x86_64.rpm mysql-community-server-5.7.25-1.el6.x86_64.rpm #节点 192.168.57.201(主)、192.168.57.202(从) 安装mysql数据库 #192.168.57.202 [root@test202 redis-cluster]# find / -name mysql /var/lib/mysql /usr/local/mysql [root@test202 redis-cluster]# rm -rf /var/lib/mysql [root@test202 redis-cluster]# rm -rf /usr/local/mysql [root@test202 redis-cluster]# #安装server rpm -ivh mysql-community-server-5.7.25-1.el6.x86_64.rpm --force --nodeps #安装client #修改mysql登录密码 #my.cnf [mysqld] skip-grant-tables #直接登录mysql,不需要输入密码 #修改root的密码 flush privileges; set password for root@localhost = password('123456'); flush privileges; #注释掉my.cnf [mysqld] #skip-grant-tables #重启mysqld 服务 配置主从同步 #日志文件名称 log-bin=master-a-bin #二进制日志的格式,有row、statement和mixed三种类型 binlog-format=ROW #要求各个服务器的这个id必须不一样 server-id=1 #同步的数据库名称 binlog-do-db=yidiankt 配置从服务器登录主服务器的账号授权 grant replication slave on *.* to 'root'@'192.168.57.201' identified by '123456'; flush privileges; 从服务器的配置(my.cnf) #日志文件名称 log-bin=master-a-bin #二进制日志的格式,跟主服务器一样 binlog-format=ROW #要求各个服务器的这个id必须不一样 server-id=2 #中继日志执行之后,这些变化是否需要计入自己的binarylog。当你的从服务器需要作为另外一个服务器的主服务器的时候需要打开。就是双主互相备份,或者多主循环备份。 log-slave-updates=true 重启主服务器 service mysqld restart show master status; 1 2 3 从服务器配置 #重启 service mysqld restart change master to master_host='192.168.57.201',master_user='root',master_password='123456',master_port=3306,master_log_file='master-a-bin.000001',master_log_pos=154; #开启从服务器 start slave; #查看状态 show slave status \G; 测试主从同步 CREATE TABLE `user` ( `id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; (责任编辑:IT) |