第一章:mysql配置主从复制

1.最小白安装linux版的mysql5.7

准备主机:192.168.31.202  

从机:192.168.31.203

cd /usr/local/

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

systemctl start  mysqld.service      #启动mysql

下面进行修改密码

grep "password" /var/log/mysqld.log      #查看原始密码

cd /usr/bin/

./mysql -uroot -p     #回车后提示输入原始密码

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

如果提示说密码过于简单,报错无法通过

我们可以修改规则:

mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=1;

然后再次执行上面修改root的密码即可

 

2.配置主机和从机的my.cnf配置文件

在主机 192.168.31.202 编辑 /etc/my.cnf 文件

nano /etc/my.cnf

加上以下配置

server-id=1    #指定服务器id
log-bin=mysql-bin    #启动二进制日志
binlog-ignore-db=mysql    #不要复制的数据库
binlog-ignore-db=information_schema    #不要复制的数据库
binlog-do-db=testdb    #要复制的数据库
binlog_format=STATEMENT    

在从机 192.168.31.203 编辑 /etc/my.cnf 文件

加上以下配置

nano /etc/my.cnf

server-id=2
relay-log=mysql-relay

 

 

3.在主机的mysql创建slave用户

在主机登录mysql

./mysql -uroot -proot

mysql> select user,host from mysql.user;      #查看有哪些用户,我们发现并没有slave用户,于是创建它

mysql> set global validate_password_policy=0;      #设定密码规则

mysql> set global validate_password_length=1;       #设定密码规则

mysql> CREATE USER 'slave'@'%' IDENTIFIED BY 'slave';      #用户和密码都是slave

mysql> grant replication slave on *.* to 'slave'@'%' identified by 'slave';      #授权slave用户允许被复制

mysql> show master status;    (查看File字段的值:mysql-bin.000002 , position字段的值:684

要把file字段和position字段的内容记下来,从机要用上它

 

 

4.在从机上的配置

./mysql -uroot -proot

###下面语句,其中192.168.31.202是主机的ip,用户和密码都是slave,最后两个属性就是从主机中获取的字段值

mysql> CHANGE MASTER TO MASTER_HOST='192.168.31.202',
MASTER_USER='slave',
MASTER_PASSWORD='slave',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=684;

如果报错:this operation cannot be performed with a running slave thread。。。。

那么执行下面语句:

mysql> stop slave;

mysql> reset master;

然后再次执行CHANGE MASTER TO 。。。。。这写代码

接下来开启slave

mysql> reset slave;

mysql> start slave;

 

然后查看是否完成主从复制

mysql> show slave status\G;

如果发现这两个属性都是yes,那么恭喜你,主从复制配置成功

 

主机只负责插入数据,从机只负责读取数据。

从机插入数据是无法同步到主机的

以此类推,一主多从可以实现

接下来第二章学习mycat中间件的配置

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章