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可以运行在不同sql mode模式下面,sql mode模式定义了mysql应该支持的sql语法,数据校验等!
查看默认的sql mode模式:
select @@sql_mode;
我的数据库是:
STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
在此模式下面,如果插入的数据的长度大于定义的长度,那么就会报错!
......
1、MySQL常用命令
create database name; 创建数据库
use databasename; 选择数据库
drop database name 直接删除数据库,不提醒
show tables; 显示表
describe tablename; 表的详细描述
select 中加上distinct去除重复字段
mysqladmin drop databasename 删除数据库前,有提示。
显示当前mysql版本和当前日期
s ......
[ 配置 ]
执行增量备份的前提条件是MySQL打开log-bin日志开关,例如在my.ini或my.cnf中加入 log-bin=C:/Program Files/MySQL/MySQL Server 6.0/Data/mysql-bin “log-bin=”后的字符串为日志记载目录,一般建议放在不同于mysql数据目录的磁盘上。
[ 完全备份]
假定星期日下午1点执行完全备份,适用于MyISAM ......
[转自]http://waryist.javaeye.com/blog/104739
ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...]
alter_specification:
ADD [COLUMN] create_definition [FIRST | AFTER column_name ]
or ADD ......
虽然很多人用mysql front, 但是个人觉得mysql还是命令行下比较好用,毕竟数据库在命令行下操作比较王道而且mysql完全免费。。
下面介绍一些mysql命令行下常用的命令,有一些数据库基础的,即使是第一次用mysql对照下面的命令操作也完全可以,如果我发现还有其它命令也是经常用到的我会陆续更新。。。
服务器:
1. 启动m ......