mysql5.7安装及主备搭建

mysql 主备模式搭建过程
mysql安装
1.上传mysql压缩包并解压

Centos7中安装的mysql版本是5.7.21

Centos6中安装的mysql版本是5.7.23

注意:这两个小版本的安装过程差异不大,注意操作系统内启动进程的命令的区别即可。安装完成后两个操作系统内的mysql的使用基本没有差异。

centos7:# tar -xvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar //注意这里是tar格式
centos6:# tar -xvf mysql-5.7.23-1.el6.x86_64.rpm-bundle.tar //注意这里是tar格式
1
2
解压后应该是以下目录:

mysql-community-client-5.7.21-1.el7.x86_64.rpm
mysql-community-common-5.7.21-1.el7.x86_64.rpm
mysql-community-server-minimal-5.7.21-1.el7.x86_64.rpm
mysql-community-devel-5.7.21-1.el7.x86_64.rpm
mysql-community-embedded-5.7.21-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.21-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.21-1.el7.x86_64.rpm
mysql-community-libs-5.7.21-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm
mysql-community-minimal-debuginfo-5.7.21-1.el7.x86_64.rpm
mysql-community-server-5.7.21-1.el7.x86_64.rpm
mysql-community-test-5.7.21-1.el7.x86_64.rpm
1
2
3
4
5
6
7
8
9
10
11
12
2.删除miniserver对应的rpm包

(若不删除,会影响安装)

centos7:# rm -rf mysql-community-server-minimal-5.7.21-1.el7.x86_64.rpm
centos6:# rm -rf mysql-community-server-minimal-5.7.23-1.el6.x86_64.rpm
1
2
3.安装MySQL

因为虚拟机是最小化安装,MySQL安装过程可能需要网络,因为操作系统可能缺少相应依赖

yum install mysql-community-{server,client,common,libs}-*
1
4.启动MySQL服务

systemctl start mysqld.service
systemctl enable mysqld.service
1
2
5.使用临时密码登录

grep 'temporary password' /var/log/mysqld.log

mysql -u root -p

输入查询到的临时密码,以登录MySQL
1
2
3
4
5
6.更改密码与权限

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
update mysql.user set Host='%' where HOST='localhost' and User='root';
flush privileges;
1
2
3
MySQL主备搭建
1.主库配置

以下所有操作均在主服务器上执行

1)授权给从数据库服务器

mysql>GRANT REPLICATION SLAVE ON *.* to '用户名'@'从数据库IP地址' identified by '密码';
mysql>FLUSH PRIVILEGES;
1
2
2)修改主库配置文件

开启binlog,并设置server-id,每次修改配置文件后都要重启mysql服务才会生效

vim /etc/my.cnf

log-bin=/var/lib/mysql/binlog #同步的日志路径及文件名,一定注意这个目录要是mysql有权限写入的
server-id=1 #master端的id号,不唯一即可
#binlog-do-db = cmdb #指定同步的数据库,如果不写,默认是同步所有数据库
expire_logs_days=7 #binlog日志的保留时间
binlog_format=ROW #指定binlog日志的格式
1
2
3
4
5
6
7
改配置文件后,重启服务:

service mysqld restart
1
3)查看主服务器当前二进制日志名和偏移量

mysql> show master status;

+---------------+----------+--------------+------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+---------------+----------+--------------+------------------+
| binlog.000001 |     1304 | cmdb         |                  |
+---------------+----------+--------------+------------------+
1 row in set (0.00 sec)
1
2
3
4
5
6
7
8
到此主服务器已经配置好。

2.从库配置
以下所有操作均在从服务器上执行

1)修改从库配置文件

vim /etc/my.cnf 

server-id=2 #slave端的id号,不唯一即可
read_only=1 #从库的普通用户的只读权限
1
2
3
4
改配置文件后,重启服务:

service mysqld restart
1
2)sql中执行

mysql> CHANGE MASTER TO MASTER_HOST='主库的ip',
MASTER_PORT=3306,
MASTER_USER='用户名',
MASTER_PASSWORD='密码',
MASTER_LOG_FILE='binlog.000002',
MASTER_LOG_POS=1943; 

注:MASTER_LOG_FILE和MASTER_LOG_POS的值为master节点中执行show master status查询到的信息
1
2
3
4
5
6
7
8
2)启动slave进程

mysql> start slave;
Query OK, 0 rows affected (0.04 sec)
1
2
3)查看slave状态

mysql> show slave status\G;

如果下面两项值为YES,则表示配置正确:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值