1. 用的CentOS7,因为CentOS7自带mariadb,所以首先卸载mariadb.不卸载安装mysql会有冲突,以前安装过mysql也要卸载
2. 卸载mariadb
执行命令(会列出所有的mariadb)
rpm -qa | grep mariadb
执行命令删除所有的mariadb
yum -y remove mariadb*
3.安装mysql 执行下载mysql的yum源命令
wget -P /home/lisonglin http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
安装yum源
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
安装mysql
yum install mysql-community-server
最后出现 complete表示安装成功
启动mysql
systemctl start mysqld
4.一样的操作,安装第二台mysql
5.实现主从复制(最好两个数据的数据一致,不然会出问题,先实现主从,后实现双机热备)
这是原理图,配置完成后,数据会写入二进制日志,然后通过IO线程写到另一台机器的中继日志,最后通过sql线程,写到数据库
进入mysql的配置文件
vim /etc/my.cnf
(按i进入编辑模式,esc退出编辑模式,:wq保存编辑并退出)
在主库中的配置文件中添加这两行
改完后重启mysql,在mysql安装目录会多出两个文件
6.以同样的方式配置从库 server-id的值不能和主库一样!!!!
7.开始搭建主从
先查看主库状态(这是在主库操作)
SHOW MASTER STATUS
查询出来的file 和 Position 后边要用到
然后在从库操作
第一步:(搭建主从同步)
SHOW MASTER STATUS;
第二步:
CHANGE MASTER to MASTER_HOST="192.168.126.137",#你主库的ip
MASTER_PORT=3306,MASTER_user="root",#你主库用户名密码
MASTER_PASSWORD="root",
#主库执行show master status查询出来的File 和Position
MASTER_LOG_FILE="mysql-bin.000002",
MASTER_LOG_POS=154
第三步:(开启主从服务)
start slave
第四步:(检测线程是否启用)
show slave status
两都是Yes,表示配置主从成功
OK主从配置完成
在主库新建一个数据库,建几张表,看看有没有同步到从库,同步就OK了(不要在从库添加)
8.实现双机热备
把搭建主从的流程在反过来执行一遍就可以了
在从库执行(查看从库状态)
SHOW MASTER STATUS
在主库配置
第一步:
show MASTER STATUS;
第二步:
CHANGE MASTER to MASTER_HOST="192.168.126.138",#你从库的ip
MASTER_PORT=3306,MASTER_user="root",#你从库用户名密码
MASTER_PASSWORD="root",
#从库执行show master status查询出来的File 和Position
MASTER_LOG_FILE="mysql-bin.000002",
MASTER_LOG_POS=154
第三步:
start slave
第四步:
show slave status
OK,双机热备搭建完成.两个mysql数据库互为主从,都可进行写入,读取,实现了数据库的高可用