MYSQL 主从配置

MySQL主从可以实现MySQL的读写分离,简言之,master上进行写操作,同步数据库,slave上进行读操作,可以极大的提升性能,降低服务器负载,在此不做赘述,下面以两台机器来做主从配置详解。

开始之前的准备工作:

1、准备两台服务器

主数据库 | 192.168.60.12 | master |

从数据库 | 192.168.60.13 | slave |

2、启动两台服务器

3、关闭系统防火墙

4、保证两台服务器之间可以相互ping 通

具体操作步骤如下:

第一步:在主数据库master 上编辑mysql配置文件,做如下操作:

注:mysql安装方式的不同会导致mysql的配置文件的位置不一样,大家要根据自己的安装位置来找配置文件,一般默认路径:

vim /etc/my.cnf

[mysqld]

bind_address = 0.0.0.0

server-id = 2 #IP地址最后一位

log_bin = /var/log/mysql/mysql-bin.log #开启binlog 日志

expire_logs_days = 10 #日志的缓存时间

max_binlog_size = 200M #日志的最大大小

binlog_do_db = data_collection#同步的数据库名称

binlog_ignore_db = mysql #忽略同步的数据库

第二步:在从数据库slave上编辑mysql配置文件,做如下操作:

vim /etc/my.cnf

[mysqld]

bind_address = 0.0.0.0

server-id = 23 #IP地址最后一位

expire_logs_days = 10 #日志的缓存时间

max_binlog_size = 200M #日志的最大大小

replicate_do_db = data_collection#同步的数据库名称

replicate_ignore_db = mysql #忽略同步的数据库

 

第三步:在主数据master上创建一个同步权限的账户repl,用来同步数据,做如下操作:

mysql>CREATE USER 'repl'@'192.168.60.13' IDENTIFIED BY 'slavepass'; #创建用户

mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.60.13' IDENTIFIED BY 'slavepass'; #分配权限

mysql>flush privileges; #刷新权限

show master status; #查看主数据库master的状态,不要关闭窗口先 ,不要重启

 

第五步:在从数据库slave上做如下操作:

mysql> change master to

-> master_host='192.168.60.12',

-> master_user='repl',

-> master_password='slavepass',

-> master_port=3306,

-> master_log_file='mysql-bin.000003',

-> master_log_pos=73;

第六步:启动slave
start slave;

第七步:查看slave状态

show slave status;

如果出现下面的提升,则mysql主从数据库配置成功。

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

stop slave;

注:可能存在的问题:

删除从数据库的配置文件auto.cnf,然后主数据重新授权,然后再change to master。

posted @ 2021-10-15 12:04  A仔的黑眼圈  阅读(130)  评论(0)    收藏  举报