linux下mycat读写分离的配置
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux下mycat读写分离的配置,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2269字,纯文字阅读大概需要4分钟。
内容图文
为什么要配置读写分离,我想我就不需要再赘述了,那么在mycat下如何进行读写分离的配置,配置之后的实际效率又如何呢?我上午根据文档捣鼓和测试了一下,这里做一下记录:
最开始,我们还是要配置mysql本身的主从复制。
首先,配置主服务器:
1.编辑数据库配置文件,/etc/my.cnf
在[mysqld]下加入代码:
log-bin=mysql-bin
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
binlog-do-db=db1
binlog_ignore_db=mysql
server-id 用于区分各自服务器,需要全局唯一。
binlog-ignore_db为忽略的库,即不复制该项设置的库。
binlog-do-db为需要复制的数据库,如果不要,则为复制除了binlog-ignore_db设置的库之外的所有库
2.重启mysql:
service mysqld restart
3.登录mysql: mysql -uroot -p
可以为slave端单独建立一个账户,方便权限管理,然后把这个账户的权限赋予slave端:
mysql>CREATE USER ‘user‘@ ‘X.X.X.X‘ IDENTIFIED BY ‘XXXXXX‘; mysql>GRANT REPLICATION SLAVE ON *.* TO ‘user‘@‘X.X.X.X‘ IDENTIFIED BY ‘XXXXXX‘;
X.X.X.X为slave端的IP地址
4.防止在复制期间,数据库有新数据写入导致数据不同步:
mysql>FLUSH TABLES WITH READ LOCK;
5.把数据库导出并传送到从服务器端:
#mysqldump -u root -pXXXXXX --all-databases --lock-tables=false -- > /root/all.sql #scp /root/all.sql root@X.X.X.X:/root
X.X.X.X为从服务器IP地址。
6.进入主服务器数据库查看并记录状态,待会儿会用到:
mysql>SHOW MASTER STATUS\G;
记录File和position
7.解锁数据表
mysql>UNLOCK TABLES;
然后配置从服务器:
1.登录从服务器,导入主服务器的数据库:
#mysql -u root -p123456 < /root/all.sql
2.编辑/etc/my.cnf,在[mysqld]下加入:
server-id=11 //服务Id,注意要和master的server-id不一样
log-bin=mysql-bin
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
sync_master_info=1
sync_relay_log=1
sync_relay_log_info=1
3.重启数据库并登录,执行下面的命令
mysql>CHANGE MASTER TO
MASTER_HOST=‘X.X.X.X‘, //主服务器的ip地址
MASTER_USER=‘user‘, //刚才在主服务器创建的账号和密码
MASTER_PASSWORD=‘XXXXXX‘,
MASTER_PORT=3306,
MASTER_LOG_FILE=‘mysql-bin.000001‘, //刚才主服务器的file
MASTER_LOG_POS=120, //主服务器的position
MASTER_CONNECT_RETRY=10;
4.启动slave进程:
mysql>START SLAVE;
如果没有报错,应该就设置好了。
小小的优化方案:
虽然MyISAM引擎不支持事务处理和行级锁,但是它的查询效率相比innoDB要好的多,而作为从数据库,并不需要事务处理和行级锁,所以建议把客户端的表重新删除并建立为InnoDB。
启动mycat的读写分离:
配置schema.xml文件:
< dataHost name ="localhost1" maxCon ="1000" minCon ="10" balance ="0" writeType ="0" dbType ="mysql" dbDriver ="native" > < heartbeat >select user()</heartbeat><!-- can have multi write hosts --><writeHost host="hostM1" url="localhost:3306" user="root" password="XXXXXX"><!-- can have multi read hosts --><readHost host="hostS1" url="X.X.X.X:3306" user="user" password="XXXXXX"/></writeHost></dataHost>
原文:http://www.cnblogs.com/toulon/p/4838377.html
内容总结
以上是互联网集市为您收集整理的linux下mycat读写分离的配置全部内容,希望文章能够帮你解决linux下mycat读写分离的配置所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。