为什么要配置读写分离,我想我就不需要再赘述了,那么在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>

  

linux下mycat读写分离的配置的更多相关文章

  1. mycat数据库集群系列之mycat读写分离安装配置

    最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考.本次系列终结大概包括以下内容:多数据库安装.mycat部署安装.数据库之读写分离 ...

  2. Mycat读写分离的简单实现

    目录 1.Mycat读写分离的配置 1.1.Mycat是什么 1.2.Mycat能干什么 1.2.1.数据库的读写分离 1.2.1.1.数据库读写分离图解 1.2.2.数据库分库分表 1.2.2.1. ...

  3. Mycat 读写分离

    简介 Mycat 是 MySQL中间件,Mycat的原理中最重要的一个动词就是'拦截',它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析:如分片分析.路由分析.读写分离分析.缓存分 ...

  4. Linux下Mycat安装配置和使用

    mysql安装下载mysql[百度云]tar -zxvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz 解压把mysql文件夹移动到 /usr/local/ 下m ...

  5. Linux下MyCat和MyCat_web的安装和配置

    Linux下MyCat和MyCat_web的安装和配置 Mycat 是一个数据库分库分表中间件 Mycat web 可以对 Mycat进行监控,这里分享一下 Mycat web 的搭建过程 详细内容可 ...

  6. LVS+MYCAT读写分离+MYSQL同步部署手册(第三版)

    1      配置MYSQL主备同步 1.1    测试环境 mysql版本:5.6.24: 操作系统内核版本:Linux-3.13-0-32 主数据库IP:192.168.10.3: 主数据库名:d ...

  7. Mysql之Mycat读写分离及分库分表

    ## 什么是mycat ```basic 1.一个彻底开源的,面向企业应用开发的大数据库集群 2.支持事务.ACID.可以替代MySQL的加强版数据库 3.一个可以视为MySQL集群的企业级数据库,用 ...

  8. LVS+MYCAT+读写分离+MYSQL主备同步部署手册

    LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1  ...

  9. 【转载】LVS+MYCAT+读写分离+MYSQL主备同步部署手册(邢锋)

    LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1  ...

随机推荐

  1. 邁向IT專家成功之路的三十則鐵律 鐵律十一:IT人應對之道-靈活

    身為一位優秀的IT專家,不能夠只是在技術面的應對能力強,而必須是在人事的應對能力上也要能夠靈活與彈性,否則就算一天給你48小時,你也會把自己的身心弄垮,再強的專業.技術.能力也會瞬間化為泡影. 坦白說 ...

  2. jmeter如何在写入jtl文件时同步写入数据库

    参考:1.http://blog.csdn.net/cakushin7433/article/details/53367508    2.http://blog.csdn.net/cakushin74 ...

  3. Neural Networks and Deep Learning学习笔记ch1 - 神经网络

    近期開始看一些深度学习的资料.想学习一下深度学习的基础知识.找到了一个比較好的tutorial,Neural Networks and Deep Learning,认真看完了之后觉得收获还是非常多的. ...

  4. 2.SOAP 语法

    SOAP 消息的基本结构 <?xml version="1.0"?> <soap:Envelope xmlns="http://www.w3.org/2 ...

  5. eclipse中文凝视字体太小解决方法

    新安装的eclipse中文凝视字体太小.解决方法例如以下: 打开Elcipse-->点击菜单条上的"Windows"-->点击"Preferences&quo ...

  6. Data Binding Guide——google官方文档翻译(上)

    android引入MVVM框架时间还不长,眼下还非常少有应用到app中的.但它是比較新的技术,使用它来搭建项目能省非常多代码,并且能使用代码架构比較清晰.本篇文章是我在学习MVVM时翻译的.篇幅比較长 ...

  7. mt-checklist 的 bug 解疑 及 防止 this 指针偏移

    1.今天在使用 mt-checklist 时,发现 绑定 change 方法后,第一次点击返回的值为 空数组 <template> <div id="app"&g ...

  8. UVA 11578 - Situp Benches(dp)

    题目链接:11578 - Situp Benches 题意:健♂身♂房有两个仰卧起坐坐垫,每次调整角度要花费10元/10度,每次使用要花费15,如今给定n个人的时间顺序,和所希望的角度,求最少花费 思 ...

  9. mysql服务停止

    mysql链接方式分为 tcp链接和 sock链接,   你刚才看到服务停止了还能链接 那种会员是 sock的会话模式   所以需要把所有链接mysql的进程结束掉,才能启动起来的   windows ...

  10. 开关电路_MOS和三极管

    https://blog.csdn.net/acelit/article/details/70171312 绍过一般的电源开关电路,控制电源的目的是省电,控制静态电流.不过以下的电路存在着几个缺点:  ...