mysql主从配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql主从配置相关的知识,希望对你有一定的参考价值。
一、环境介绍
操作系统:centos 6.5
数据库:mysql 5.1.73
二、配置步骤
PS:linux内核的操作系统中下载、安装mysql不属于本文重点,所以不多做介绍。
文中涉及到的配置文件路径皆以以上环境为准,操作系统和mysql版本不一致可能会导致路径也不同。
主(master)配置:
1.在/var/lib/mysql/目录下建立***.log文件,该文件会在第三步中使用,主要是记录主从数据同步操作的日志文件,单机数据库服务可以选择开启或不开启,但主从配置环境是必须要开启该项的,因为服务器需要有一个记录主从同步操作的地方,这个日志文件就是。
2.使用chmod -R 777 /etc/my.cnf修改mysql配置文件的权限。
3.打开my.cnf文件,在 [mysqld] 下方添加
server-id=1 (随便命名,但保证在整个主从配置中是唯一的)
log-bin=/var/lib/mysql/***.log。
注:修改完my.cnf文件后一定要将该文件的权限修改为只读,否则mysql会给出警告,这个警告会导致你修改的配置不起作用,我在这被坑很久。可以使用 show variables like ‘log_bin’; 如果value为ON说明配置正确。
4.使用命令 service mysqld start 启动mysql服务,并使用 mysql -u [user] -p 登陆mysql。
5.使用命令 grant replication slave on *.* to ‘user’@’%’ identified by ‘password’;建立从服务器的帐号和密码。
6.使用命令 show master status;查看状态并记录File和Port字段中的值,在配置从服务器的时候需要该信息。
注:至此,主服务器配置过程已经结束,尽量不要再对主服务器进行任何操作,否则会导致prot发生变化,如果一定要进行操作,操作完毕后使用第6步的命令再次进行查看状态信息。
从(slave)服务器配置:
1.参考主服务器配置中步骤1、2、3,server_id是必须要有的,log-bin可有可无。配置完毕后使用命令service mysqld start启动服务。
2.登陆数据库服务器。
3.使用命令 change master to
master_host=主服务器地址,
master_user=user,
master_password=password,
master_log_file=配置主服务器步骤6中的File值
master_log_pos=配置主服务器步骤6中的Port值;
4.使用命令 start slave;启动从服务器。
注:如果启动失败使用命令 show variables like ‘server_id’;查看value是否为0,如果为0检查第1步的配置。
至此mysql的主从搭建就全部完成了,在此基础上我们可以通过对主从的配置读写权限修改实现读写分离。
三、测试
在主服务器中建立数据库表并新增记录,切换到从服务器中对该表进行查询,就可以看到mysql自从实现了主从数据的同步。
以上是关于mysql主从配置的主要内容,如果未能解决你的问题,请参考以下文章