MYSQL实现读写分离
LUA版本:lua-5.1.4.tar.gz
MySql_proxy版本:mysql-proxy-0.6.1-linux-rhel4-x86-32bit.tar.gz
代理机:Linux红帽 (222.31.76.229)
数据库服务器:A主:(222.31.76.99),B从:(222.31.76.102)
A和B安装Mysql
5.1 ;
代理机安装LUA,MYSQL_PROXY;
1、 LUA的安装
[root@localhost ~]#tar zxvf lua-5.1.2.tar.gz -C /usr/local
[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv lua-5.1 lua
[root@localhost lua]# cd lua
[root@localhost lua]# make linux;make linux
install;
导出环境变量:
[root@localhost lua]#export
LUA_CFLAGS="-I/usr/local/include" LUA_LIBS="-L/usr/local/lib
-llua -ldl" LDFLAGS="-lm"
移植LUA 查看INSTALL文件,拷贝对应文件及权限
2、MySQL Proxy 安装
[root@localhost ~]#tar -zxvf mysql-proxy-0.6.1-linux-rhel4-x86-32bit.tar.gz
-C /usr/local/mysql/
[root@localhost ~]#cd /usr/local/mysql
[root@localhost mysql]#mv mysql-proxy-0.6.1-linux-rhel4-x86-32bit/
mysql-proxy
[root@localhost sbin]# export
PATH=$PATH:/usr/local/mysql/mysql-proxy/sbin/
[root@localhost ~]# mysql-proxy --help-all
启动mysql_proxy:
[root@localhost sbin]#LUA_PATH="/usr/local/mysql/mysql-proxy/share/mysql-proxy/?.lua"
/usr/local/mysql/mysql-proxy/sbin/mysql-proxy
--proxy-read-only-backend-addresses=222.31.76.102:3306
--proxy-backend-addresses=222.31.76.99:3306
--proxy-lua-script=/usr/local/mysql/mysql-proxy/share/mysql-proxy/rw-splitting.lua
&
分别进入A,B MYSQL创建远程连接数据库用户
MYSQL>grant all on *.* to
'yl'@'222.31.76.229' identified by '123456';
客户端开启连接:
[root@localhost ~]# mysql –u【user】 -p【password】 -P4040 –h【hostip】 -D【dbname】
不能连接数据库
原因:可能用户没有权限
可能防火墙
相关文档:
配置主从:
两台服务器mysql版本一样,
Server version: 5.1.16-beta-log MySQL Community Server
配置基本一样、启动参数一样
主的可以访问从的,
但是
从那边怎么连接主的,都是失败:
[root@2006 htmlfile]# mysql -h192.168.xx.xxx -uxxx -pxxx --default-character-set=GBK --reconnect
ERROR 2003 (HY000): C ......
以下这篇文章论述上在什么情况下子查询比一般的内连接查询更加快速
http://www.mysqlperformanceblog.com/2010/03/18/when-the-subselect-runs-faster/
以下是我对mysql的order by和limit优化的建议,要适表的数据量和用来过滤列的唯一值的个数而定
(1)where子句中用来过滤结果的列所在索引的cadinality很小,即用相关 ......
虽然很多人用mysql front, 但是个人觉得mysql还是命令行下比较好用,毕竟数据库在命令行下操作比较王道而且mysql完全免费。。
下面介绍一些mysql命令行下常用的命令,有一些数据库基础的,即使是第一次用mysql对照下面的命令操作也完全可以,如果我发现还有其它命令也是经常用到的我会陆续更新。。。
服务器:
1. 启动m ......