CentOS7 64位安装MySql教程与MySQL主从复制配置

 

CentOS7 64位安装MySql教程

https://wiki.centos.org/Download  下载CentOS7

df -h 查询空间  

 

  1. 先检查系统是否装有mysql

rpm -qa | grep mysql

删除命令

yum -y remove mysql-libs*

  1.  下载mysql的repo源  el7代表centos7

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

 报错: -bash: wget: 未找到命令

 安装插件  yum -y install wget

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

sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

  1. 安装MySQL

sudo yum install mysql-server

  1. 重置MySQL密码

mysql -u root

报错:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

原因:原因是/var/lib/mysql的访问权限问题。

chown root /var/lib/mysql/

  1. 重启MySQL服务

service mysqld restart

  1. 接着登陆设置密码

mysql -u root

use mysql;

update user set password=password('root') where user='root';

exit;

 

接着继续重启MySQL服务

service mysqld restart

  1. 接着设置Root账户远程连接密码

 mysql -u root -p

GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; 

 

重启服务器 service mysqld restart

 

  1. 使用外网工具连接MySQL

关闭防火墙

systemctl stop firewalld.service

 

或者

service iptables stop

 

MySQL从复制配置

搭建一主一从

服务器节点 

 

vim /etc/my.cnf  新增以下内容

###服务器id

server_id=177

log-bin=mysql-bin   ###开启二进制日志

 

# 设置不要复制的数据库(可设置多个)

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

#设置需要复制的数据库

binlog-do-db=需要复制的主数据库名字

#设置logbin格式  binlog 日志三种格式 statement、row、mixed

binlog_format=STATEMENT

 

重启mysql服务 

service mysqld restart

登录mysql服务

mysql -uroot -proot

验证是否已经配置成功

show variables like '%server_id%';

能够查询对应配置文件中的server_id 说明已经配置成功

show master status;

能够看到同步的文件,和行数 说明已经配置成功。

 

 

 

 

服务器节点

克隆服务器

vim /etc/my.cnf

 

server_id=178  ###从服务器server_id

log-bin=mysql-bin  ###日志文件同步方式

 

 

 

观看的视频有所不同,redo log可以实现数据重做,那为什么要使用binlog?因为redo log是Innodb实现的物理日志,一旦涉及到多种存储引擎,无法进行重做。

 

server_id=178  ###从服务器server_id

#启用中继日志

relay-log=mysql-relay

 

 relay_log_recovery:当slave从库宕机后,假如relay-log损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的relay-log,并且重新从master上获取日志,这样就保证了relay-log的完整性。默认情况下该功能是关闭的,将relay_log_recovery的值设置为 1时,可在slave从库上开启该功能,建议开启。

 

 

重启mysql服务 service mysqld restart

登录mysql服务

mysql -uroot -proot

验证是否已经配置成功

show variables like '%server_id%';

能够查询对应配置文件中的server_id 说明已经配置成功

 

从服务器同步主服务器配置:

change master to master_host='主机ip',master_user='root',master_password='root',master_log_file='mysql-bin.具体数字',master_log_pos=position具体值;

 

master_log_pos指的是: 主服务器执行   show master status; 显示的具体值

开始同步: 

start slave;

检查从服务器复制功能状态:

SHOW SLAVE STATUS\G;

 

Slave_IO_Running  Slave_SQL_Running 为yes代表主从复制成功

为no,看看Last_IO_Error列是否发生错误,没有发生错误为空,否则有错误提示

 

Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

 

解决办法

因为服务器克隆的时候交UUID产生了重复 ,解决办法

 

cat  /etc/my.cnf

cd /var/lib/mysql

rm -rf auto.cnf

重启服务器即可

service mysqld restart

 

 

如何停止从服务复制功能

stop slave;

 

如何重新配置主从

stop slave;

reset master;

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值