linux下mycat读写分离的配置
来源:互联网 发布:淘宝退款金额怎么修改 编辑:程序博客网 时间:2024/04/29 03:07
linux下mycat读写分离的配置
为什么要配置读写分离,我想我就不需要再赘述了,那么在mycat下如何进行读写分离的配置,配置之后的实际效率又如何呢?我上午根据文档捣鼓和测试了一下,这里做一下记录:
最开始,我们还是要配置mysql本身的主从复制。
首先,配置主服务器:
1.编辑数据库配置文件,/etc/my.cnf
在[mysqld]下加入代码:
log-bin=mysql-binserver-id=1innodb_flush_log_at_trx_commit=1sync_binlog=1binlog-do-db=db1binlog_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-binrelay-log-index=slave-relay-bin.indexrelay-log=slave-relay-binsync_master_info=1sync_relay_log=1sync_relay_log_info=1
3.重启数据库并登录,执行下面的命令
mysql>CHANGE MASTER TOMASTER_HOST='X.X.X.X', //主服务器的ip地址MASTER_USER='user', //刚才在主服务器创建的账号和密码MASTER_PASSWORD='XXXXXX',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000001', //刚才主服务器的fileMASTER_LOG_POS=120, //主服务器的positionMASTER_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>
- linux下mycat读写分离的配置
- windows下配置mycat,实现mysql数据库的读写分离!
- ubuntu 下基于mycat的mysql读写分离配置
- mycat读写分离配置
- mycat读写分离配置
- Mycat配置读写分离
- mycat配置mysql简单的读写分离
- Mycat读写分离配置实践
- linux系统安装mycat,并配置读写分离
- mysql中间件Mycat:配置2(读写分离)
- mycat介绍01-mysql读写分离配置
- MyCAT实现MySQL的读写分离
- MyCAT实现MySQL的读写分离
- Mycat之Mysql读写分离的实现
- 基于MyCat实现的MySQL读写分离
- mycat实现简单的mysql读写分离
- 基于Mycat的MySQL读写分离
- MyCAT实现MySQL的读写分离
- [Android开发] Android SDK 在线更新镜像服务器资源
- leetcode链表拷贝之随机指针
- MyCAT实现MySQL的读写分离
- webservice入门实例(一)
- php.ini配置文件的基本设置
- linux下mycat读写分离的配置
- 计算a+b
- 计算思维实践之路(六)
- strcpy和memcpy的区别
- Qt中简单的日志文件实现
- 数据库索引的实现
- Java并发编程
- 【NOIP模拟】树塔狂想曲
- Linux设备驱动之I/O端口与I/O内存