前提:centos 7 , mysql 5.6

安装虚拟机

在pv中安装两台同版本的虚拟机
image.png
等安装完成

安装MySQL

在新版本的CentOS7中,默认的数据库已更新为了Mariadb,而非 MySQL,所以执行 yum install mysql 命令只是更新Mariadb数据库,并不会安装 MySQL 。

1.检查系统中是否已安装mysql

命令 rpm -qa | grep mysql
因为我的是新安装的系统,所以没有mysql
image.png

2.下载安装包文件

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
image.png

3.安装mysql-community-release-el7-5.noarch.rpm包

rpm -ivh mysql-community-release-el7-5.noarch.rpm
image.png
安装完成之后,会在 /etc/yum.repos.d/ 目录下新增 mysql-community.repo 、mysql-community-source.repo 两个 yum 源文件。

image.png

执行 yum repolist all | grep mysql 命令查看可用的 mysql 安装文件。
image.png

4.安装MySQL

yum install mysql-server
image.png
image.png

5.启动 mysql 服务

systemctl start mysqld.service #启动 mysql
systemctl restart mysqld.service #重启 mysql
systemctl stop mysqld.service #停止 mysql
systemctl enable mysqld.service #设置 mysql 开机启动
image.png

6.设置密码

mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD(“这里输入root用户密码”) where User=’root’;
mysql> flush privileges;

image.png

7.设置远程主机登录

mysql> GRANT ALL PRIVILEGES ON . TO ‘your username’@’%’ IDENTIFIED BY ‘your password’;
mysql> GRANT ALL PRIVILEGES ON . TO root@”%” IDENTIFIED BY “123456”;

设置主从复制

主从复制的原理:mysql要做到主从复制,其实依靠的是二进制日志,即:假设主服务器叫A,从服务器叫B;主从复制就是, B跟着A学,A做什么,B就做什么。那么B怎么同步A的动作呢?现在A有一个日志功能,把自己所做的增删改查的动作,全都记录在日志中,B只需要拿到这份日志,照着日志上面的动作施加到自己身上就可以了。这样就实现了主从复制。

实现步骤:
1.首先修改mysql的配置文件,使其支持二进制日志功能。
打开主服务器的mysql配置文件:my.conf
代码:# vi /etc/my.cnf
image.png
参数解释:
log-bin=mysql-bin //将mysql二进制日志取名为mysql-bin
server-id=101 //为服务器设置一个独一无二的id便于区分,这里使用ip地址的最后一位充当server-id
然后再打开从服务器,重复以上步骤

1.在主服务器上设置同步专用账号及其权限

mysql>GRANT REPLICATION SLAVE ON . to ‘slave’@’%’ identified by ‘111111’;

2.查询master状态

mysql>show master status;
image.png
注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化

3.配置从服务器Slave:

change master to master_host=’192.168.145.222’,
master_user=’mysync’,
master_password=’q123456’,
master_log_file=’mysql-bin.000004’,
master_log_pos=308;
==========================
mysql>start slave; //启动slave
mysql>show slave status\G; //查询slave状态
image.png
注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。

以上操作过程,主从服务器配置完成。

4.主从服务器测试

在主服务上创建一个新的数据库test
image.png

在从服务器上查看是否也新建了一个test数据库;
image.png

OVER!