这篇“mysql主从服务器如何设置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql主从服务器如何设置”文章吧。
1.简述
通过mysql主从服务器配置,实现数据库数据备份功能,防止主服务器数据文件损坏造成的数据丢失问题,另外其另一个其主要功能是实现数据库读写分离,降低主服务器的负载。
2.步骤
2.1.同步主服务器的数据到从服务
为从服务器创建同步账号
GRANTREPLICATIONSLAVE,REPLICATIONCLIENTON*.*TO'repl'@'192.168.127.%'IDENTIFIEDBY'repl';
说明:%是通配符,表示192.168.127.0-192.168.127.255的Server都可以以repl用户名,以 repl密码登录到主服务器
停止主服务器mysql服务
servicemysqldstop
在主服务器上导出要到同步到从服务器的数据库
命令格式:mysqldump-u用户名-p数据库名>导出的文件名
例如:
mysqldump-uroot-ptest>/root/test.sql
拷贝test.sql文件到从服务器
scp/root/test.sqlroot@server2:/root
从服务器加载数据
首先创建数据库后执行加载数据操作:
mysql>createdatabasetest;
mysql>source/root/test.sql;
2.2. 备份主从服务器/etc/my.cnf文件
cp/etc/my.cnf/etc/my.cnf.bak
2.3. 修改主服务器/etc/my.cnf文件。
在[mysqld]节点下添加:
server-id=1#说明:server-id必须为唯一值,不能和从服务器相同
log_bin=mysql-bin#启动MySQ二进制日志系统
2.4. 修改从服务器/etc/my.cnf文件
在[mysqld]节点下添加:
server-id=2
replicate_wild_do_table=test4.%
#说明test.%代表要同步test数据库下所有的表,如果要同步多个数据库再添加一行replicate_wild_do_table参数,如果不指定此参数代表同步所有数据库。
2.5. 启动从数据库
servicemysqldstart;
2.6. 在从服务器上配置要同步的主服务器的参数
mysql>CHANGEMASTERTOMASTER_HOST='192.168.127.147',
mysql>MASTER_USER='repl',MASTER_PASSWORD='repl',
mysql>MASTER_LOG_FILE='mysql-bin.000001',
msyql>MASTER_LOG_POS=0;
说明:MASTER_HOST主服务器ip地址,MASTER_USER用户名,MASTER_PASSWORD密码,MASTER_LOG_FILE日志文件,MASTER_LOG_POS要从文件哪个位置记录的信息开始同步。
2.7. 从服务器启动slave模式
mysql>startslave;
2.8. 启动主服务器mysql服务
servicemysqldstart
2.9. 在从服务上查看SLAVE状态
mysql>showslavestatus;
2.10.验证数据库是否可以同步,数据是否一致
后记:
1、如果主服务器和从服务器不指定要同步和忽略的数据库,则默认会同步所有数据库的数据。
2、可以在主服务器上指定binlog-do-db=osyunweidb和binlog-ignore-db=mysql参数限制要同步和忽略的数据库
3、可以在从服务器上指定replicate_wild_do_table和replicate_wild_ignore_table限制要同步和忽略的数据库
4、从服务器使用replicate_do_db和replicate_ignore_db限制要同步和忽略的数据库,会忽略掉跨数据表的增删改操作,所以不建议。
以上就是mysql主从服务器如何设置的详细内容,更多关于mysql主从服务器如何设置的资料请关注九品源码其它相关文章!