Mysql安装、主从复制配置总结

1.msql安装

下载并安装MySQL官方的 Yum Repository

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

以上步骤 完成mysql的安装。

systemctl start  mysqld.service
systemctl status mysqld.service

启动mysql服务和查看运行状态命令

grep "password" /var/log/mysqld.log

 使用上边的命令查看安装后mysql首次登录的密码

mysql -uroot -p

 登录mysql命令

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

 修改数据库密码

grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'password' with grant option;
flush privileges;

 开启远程访问。

以上完成了数据库的密码修改和远程登录的相关设置。

修改数据库的编码格式,对/etc/my.cnf文件进行修改,添加

character-set-server=utf8
collation-server=utf8_general_ci

重启数据库,登陆后使用status查看数据库编码格式:

以上完成数据库的编码格式配置。

2.主从复制配置

配置主服务器

修改my.cnf文件。在[mysqld]段下添加:

#要给从机同步的库
binlog-do-db=mytestdb
#不给从机同步的库(多个写多行)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
#自动清理 7 天前的log文件,可根据需要修改
expire_logs_days=7
# 启用二进制日志
log-bin=mysql-bin
# 服务器唯一ID,一般取IP最后一段
server-id=101

重启mysql服务器

测试log_bin是否成功开启:
mysql> show variables like ‘%log_bin%’;

建立账户并授权slave

mysql>GRANT FILE ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';
mysql>GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to 'backup'@'%' identified by '123456';

查询主服务器的状态:
show master status;

 配置从服务器
修改my.cnf文件。在[mysqld]段下添加:

server-id=102
#加上以下参数可以避免更新不及时,SLAVE 重启后导致的主从复制出错。
read_only = 1
master_info_repository=TABLE
relay_log_info_repository=TABLE

在从机上设置从服务器

change master to master_host='10.0.0.7',master_port=3306,master_user='backup',master_password='ABCabc123',master_log_file='mysql-bin.000001',master_log_pos=120;

重启从服务使用show slave status \G查看状态:

以上完成主从复制的配置,若想要多个从数据库重复从服务配置即可。

3.在运行过程中会出现同步错误Slave_SQL_Running:No错误

解决办法:

首先停掉Slave服务:stop slave ;
到主服务器上查看主机状态:
记录File和Position对应的值

进入master
mysql> show master status;
+----------------------+----------+--------------+------------------+
| File                 | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+----------------------+----------+--------------+------------------+
| localhost-bin.000001 | 151 |              |                  | 
+----------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

然后到slave服务器上执行手动同步:
mysql> change master to 
> master_host='master_ip',
> master_user='user', 
> master_password='password', 
> master_port=3306, 
> master_log_file='localhost-bin.000001', 

> master_log_pos=151,master_auto_position=0;

start slave ;

此时再查看从机:

mysql> show slave status \G

参考链接:

CentOS7安装MySQL(完整版)_24只羊羊羊的博客-CSDN博客

mysql5.7在centos7下安装以及主从配置_chenyiming2010的博客-CSDN博客

https://www.cnblogs.com/jasontec/p/9601635.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值