码迷,mamicode.com
首页 > 数据库 > 详细

MySQL高可用性之Keepalived+MySQL(双主热备)

时间:2019-12-30 19:06:27      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:err   ant   双主   name   ror   root   准备工作   ges   erro   

环境说明:

操作系统 IP地址 hostname 软件
centos 7 192.168.11.83 web01 mariadb+keepalived
centos 7 192.168.11.84 web02 mariadb+keepalived

准备工作:

(1)关闭两台服务器的防火墙、Selinux应用。

[root@web01 ~]#  setenforce 0
[root@web01 ~]#  systemctl stop firewalld
[root@web02 ~]#  setenforce 0
[root@web02 ~]#  systemctl stop firewalld

(2)两台服务器都安装好mariadb和keepalived

[root@web01 ~]#  yum -y install mariadb mariadb-server keepalived
[root@web02 ~]#  yum -y install mariadb mariadb-server keepalived

一、更改主服务器的配置文件;

[root@web01 ~]# vim /etc/my.cnf
[mysqld]
server-id=1  #设置服务器id,为1表示主服务器
log-bin=mysql-bin  #启动MySQ二进制日志系统
auto-increment-increment = 2   #字段变化增量值
auto-increment-offset = 1 #初始字段ID为1
slave-skip-errors = all #忽略所有复制产生的错误
binlog-ignore-db=mysql,information_schema #忽略写入binlog日志的库
:wq #保存退出
[root@web01 ~]# systemctl restart mariadb

二、更改从服务器的配置文件

[root@web02 ~]# vim /etc/my.cnf
[mysqld]
server-id=2  #设置服务器id,为2表示从服务器
log-bin=mysql-bin  #启动MySQ二进制日志系统
auto-increment-increment = 2   #字段变化增量值
auto-increment-offset = 1 #初始字段ID为1
slave-skip-errors = all #忽略所有复制产生的错误
binlog-ignore-db=mysql,information_schema #忽略写入binlog日志的库
:wq #保存退出
[root@web02 ~]# systemctl restart mariadb

三、配置主、从服务器两者一样

[root@web01 ~]# mysql -u root -p   #输入密码进入mariadb
MariaDB [(none)]> create database test; #创建数据库
MariaDB [(none)]> use test; #进入数据库内
MariaDB [(none)]>CREATE TABLE mybook (name char(15),price int,pages int);  #创建表单
MariaDB [(none)]>INSERT INTO mybook(name,price,pages) VALUES(linuxprobe, 60, 518); #向表单中添加数据
MariaDB [(none)]>SELECT * FROM mybook;  #查看表单中的数据
+------------+-------+-------+
| name       | price | pages |
+------------+-------+-------+
| linuxprobe |    60 |   518 |
+------------+-------+-------+
row in set (0.00 sec)

四、配置主服务器(创建同步数据库的账号)

MariaDB [test]> grant replication slave on *.* to admin@% identified by 123456;  #用户名为admin,密码为123456
MariaDB [(none)]> show master status; #记录File和Postion中的数据,等下需要填到从服务器配置里
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 |     1097 | test         | mysql            |
+------------------+----------+--------------+------------------+
row in set (0.00 sec)
MariaDB [(none)]> grant replication slave on *.* to check@% identified by 123456;
MariaDB [(none)]> flush  privileges;
MariaDB [(none)]> change master to master_host=192.168.11.84, master_user=check, master_password=123456, master_log_file=mysql-bin.000004, master_log_pos=245;

MySQL高可用性之Keepalived+MySQL(双主热备)

标签:err   ant   双主   name   ror   root   准备工作   ges   erro   

原文地址:https://www.cnblogs.com/comprehensive/p/12120959.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!