高级Mysql 【 centos搭建mysql主从 】

2019年2月7日 作者 jacky

CentOS7 64位安装MySql教程

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

rpm -qa | grep mysql

2. 下载mysql的repo源

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

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

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

4. 安装MySQL

sudo yum install mysql-server

5. 重置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/

6. 重启MySQL服务

service mysqld restart

7. 接着登陆设置密码

$ mysql -u root -p
mysql> use mysql;
mysql> update user set password=password('123456') where user='root';
mysql> exit;

接着继续重启MySQL服务

service mysqld restart

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

 mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; 

重启服务器

service mysqld restart

9. 使用外网工具连接MySQL

关闭防火墙

systemctl stop firewalld.service

MySQL主从复制配置

**主服务器节点 **

vi /etc/my.cnf  新增以下内容
server_id=177  ###服务器id
log-bin=mysql-bin   ###开启日志文件

重启mysql服务

service mysqld restart

验证是否已经配置成功

show variables like '%server_id%';

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

show master status;

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

从服务器节点

vi /etc/my.cnf
server_id=178  ###从服务器server_id
log-bin=mysql-bin  ###日志文件同步方式
binlog_do_db=test   ###同步数据库

重启mysql服务

验证是否已经配置成功

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

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

change master to master_host='192.168.212.200',master_user='root',master_password='root',      master_log_file='mysql-bin.000002',master_log_pos=216;

开始同步

start slave

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

SHOW SLAVE STATUS
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