mysql-proxy 在UBUNTU 下安装和测试

来源:互联网 发布:淘宝店怎样才能有生意 编辑:程序博客网 时间:2024/05/29 03:34
Ubuntu 9.04安装Mysql Proxy Lua是本文要介绍的内容,主要是来了解Mysql Proxy在Ubuntu 9.04下的安装环境,并且已经通过测试,具体内容来看本文详解
安装mysql
1、
1.        apt-get install mysql-server mysql-client libmysqlclient15-dev
2、进入
1.        mysql  mysql -uroot -p
密码root
3、重新设置mysql用户root的密码
1.        GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";
4、创建新数据库 proxy
1.        create database proxy;   
5、创建用户test 对proxy库有全部操作权限
1.        grant all privileges on proxy.* to test@localhost identified by "zhaogongyu";
6、允许test用户可以从任意机器上登入MySQL。
1.        第一步:grant all privileges on proxy.* to test@"%" identified by "zhaogongyu";  
2.         
3.        第二步:$sudo gedit /etc/mysql/my.cnf
老版本
1.        skip-networking => #skip-networking
新版本
1.        bind-address=127.0.0.1 => bind-address= 你机器的IP
这样就可以允许其他机器访问MySQL了
7、重启mysql命令
1.        sudo /etc/init.d/mysql restart
8、开机启动mysql
1.        vim /etc/rc.local
将下面这一行加入到最后一行
1.        cd /usr/bin; /usr/bin/safe_mysqld --user=root &  
2.        exit 0
注意:记得加上cd /usr/local/mysql-5.1.36;并在改句后面加个空格,不然会导致无法自动在开机的时候启动
9、从数据库导出数据
1.        mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt mydatabase > d.sql
10、创建新库
1.        create database 'newdata' default character set gbk collate gbk_chinese_ci;
11、导入数据库
1.        mysql -uroot -p --default-character=gbk -f newmydatabase >source d.sql ..>exit
安装读写分离 mysql-proxy
一、mysql
1.        1、apt-get install mysql-server mysql-client libmysqlclient15-dev  
2.         
3.        2、进入mysql  mysql -uroot -p
密码root
3、重新设置mysql用户root的密码
1.        GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";
4、创建新数据库 proxy 创建表 prodata
1.        create database proxy;   
2.        CREATE TABLE prodata (name VARCHAR(20), sex CHAR(1));
5、创建用户test 对proxy库有全部操作权限
1.        grant all privileges on proxy.* to test@localhost identified by "zhaogongyu";
6、允许test用户可以从任意机器上登入MySQL。
1.        第一步:grant all privileges on proxy.* to test@"%" identified by "zhaogongyu";  
2.         
3.        第二步:$sudo gedit /etc/mysql/my.cnf
老版本
1.        skip-networking => #skip-networking
新版本
1.        bind-address=127.0.0.1 => bind-address= 你机器的IP
这样就可以允许其他机器访问MySQL了
7、重启mysql命令
1.        sudo /etc/init.d/mysql restart
注意: mysql安装后位置
执行文件
1.        /usr/bin/mysql
数据库
1.        /var/lib/mysql  
2.        /var/log/mysql
控制文件
1.        /etc/mysql/my.cnf   
数据库命令行相关操作
2、创建一个数据库MYSQLDATA
1.        mysql> CREATE DATABASE MYSQLDATA;
3、选择你所创建的数据库
1.        mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
4、查看现在的数据库中存在什么表
1.        mysql> SHOW TABLES;
5、创建一个数据库表
1.        mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6、显示表的结构:
1.        mysql> DESCRIBE MYTABLE;
7、往表中加入记录
1.        mysql> insert into MYTABLE values ("hyq","M");
8、用文本方式将数据装入数据库表中(例如D:/mysql.txt)
1.        mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
9、导入.sql文件命令(例如D:/mysql.sql)
1.        mysql>use database;  
2.        mysql>source d:/mysql.sql;
10、删除表
1.        mysql>drop TABLE MYTABLE;
11、清空表
1.        mysql>delete from MYTABLE;
12、更新表中数据
1.        mysql>update MYTABLE set sex="f" where name='hyq';  
2.         
3.        http://hi.baidu.com/selfcool/blo ... 79b1f2e0fe0b9d.html
二、mysql-proxy
LUA文件介绍
1.        http://www.oreillynet.com/pub/a/ ... l-proxy.html?page=1
2.         
3.        192.168.1.38  proxy  
4.        192.168.1.44  slaver  从机  
5.        192.168.1.55  master  主机  
6.         
7.        apt-get  mysql-proxy
配置
1、读写分离脚本
修改默认连接,进行快速测试,不修改的话要等达到连接数时才读写分离
1.        vim /usr/share/mysql-proxy/rw-splitting.lua  
2.          proxy.global.config.rwsplit = {  
3.         min_idle_connections = 1,  #默认是4  
4.         max_idle_connections = 1,  #默认是8  
5.         
6.         is_debug = false
7.          }
2、执行读写分离
1.        mysql-proxy  -–proxy-read-only-backend-addresses=10.0.0.6:3306 -–proxy-backend-addresses=10.0.0.5:3306  
2.         -–proxy-lua-script=/usr/share/mysql-proxy/rw-splitting.lua >/var/log/mysql-proxy/mysql-proxy.log &  
3.         
4.         (新建/var/log/mysql-proxy/和mysql-proxy.log 调整属性775 属于chown R mysql.adm  xx组)  
5.          
6.        (sudo mysql-proxy  --proxy-read-only-backend-addresses=192.168.1.44:3306
7.                           --proxy-backend-addresses=192.168.1.55:3306
8.                           --proxy-lua-script=/usr/share/mysql-proxy/rw-splitting.lua >/var/log/mysql-proxy/mysql-proxy.log &  
9.        )
注:当运行sudo mysql-proxy 查询进程后没有4040时候,需要重启mysql ( sudo /etc/init.d/mysql restart) 之后在输入proxy设置
3、查看进程
1.        netstat -ant  
2.        tcp  00 0.0.0.0:40400.0.0.0:*LISTEN   
3.        tcp  00 0.0.0.0:40410.0.0.0:*LISTEN  
启动成功
可以远程连接了,在一台linux主机上连接,进行一些读写操作
4、测试读写分离
进入mysql-proxy机子
1.        a@a-desktop:/usr/share/mysql-proxy$ mysql -utest -p -P4040 -h192.168.1.38  
2.        Enter password:  
3.        Welcome to the MySQL monitor.  Commands end with ; or \g.  
4.        Your MySQL connection id is 25  
5.        Server version: 5.0.51a-3ubuntu5.4-log  
6.         
7.        Type 'help;' or '\h' for help. Type '\c' to clear the buffer.  
8.         
9.        mysql> use proxy;  
10.        Database changed
插入一条记录
1.        mysql> insert into prodata(name) values("zgy");  
2.        Query OK, 1 row affected (0.01 sec)  
3.         
4.        mysql>select * from proxy;  
5.        Empty set (0.00 sec)
我们插入了数据没有结果~这就对了读写分离了~~~~
注:有时候mysql_proxy(38)库里会显示出数据,重启系统系统,重新启动mysql后就没有此现象了。
进入主写服务器(192.168.1.55) 查看数据
1.        mysql -utest -p -h192.168.1.55  
2.        use proxy;  
3.        select * from prodata;
可以查看已经写入了一条记录
进入从读服务器(192.168.1.44)
1.        mysql -utest -p -h192.168.1.44  
2.        use proxy;  
3.        select * from prodata;
因为没有数据显示

说明只能读 不能写。




转自  http://www.mobpub.net/thread-9477-1-1.html


原创粉丝点击