Ubuntu 9.04安装Mysql Proxy Lua测试成功版

Ubuntu 9.04安装Mysql Proxy Lua是本文要介绍的内容,主要是来了解Mysql ProxyUbuntu 9.04下的安装环境,并且已经通过测试,具体内容来看本文详解。

安装mysql

1、

apt-get install mysql-server mysql-client libmysqlclient15-dev 

2、进入

mysql  mysql -uroot -p 

密码root

3、重新设置mysql用户root的密码

GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456"; 

4、创建新数据库 proxy

create database proxy;   

5、创建用户test 对proxy库有全部操作权限

grant all privileges on proxy.* to test@localhost identified by "zhaogongyu"; 

6、允许test用户可以从任意机器上登入MySQL。

第一步:grant all privileges on proxy.* to test@"%" identified by "zhaogongyu";  


 


第二步:$sudo gedit /etc/mysql/my.cnf 

老版本

skip-networking => #skip-networking 

新版本

bind-address=127.0.0.1 => bind-address= 你机器的IP 

这样就可以允许其他机器访问MySQL了

7、重启mysql命令

sudo /etc/init.d/mysql restart 

8、开机启动mysql

vim /etc/rc.local 

将下面这一行加入到最后一行

cd /usr/bin; /usr/bin/safe_mysqld --user=root &  


exit 0 

注意:记得加上cd /usr/local/mysql-5.1.36;并在改句后面加个空格,不然会导致无法自动在开机的时候启动

9、从数据库导出数据

mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt mydatabase > d.sql 

10、创建新库

create database 'newdata' default character set gbk collate gbk_chinese_ci; 

11、导入数据库

mysql -uroot -p --default-character=gbk -f newmydatabase >source d.sql ..>exit 

安装读写分离 mysql-proxy

一、mysql

1、apt-get install mysql-server mysql-client libmysqlclient15-dev  


 


2、进入mysql  mysql -uroot -p 

密码root

3、重新设置mysql用户root的密码

GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456"; 

4、创建新数据库 proxy 创建表 prodata

create database proxy;   


CREATE TABLE prodata (name VARCHAR(20), sex CHAR(1)); 

5、创建用户test 对proxy库有全部操作权限

grant all privileges on proxy.* to test@localhost identified by "zhaogongyu"; 

6、允许test用户可以从任意机器上登入MySQL。

第一步:grant all privileges on proxy.* to test@"%" identified by "zhaogongyu";  


 


第二步:$sudo gedit /etc/mysql/my.cnf 

老版本

skip-networking => #skip-networking 

新版本

bind-address=127.0.0.1 => bind-address= 你机器的IP 

这样就可以允许其他机器访问MySQL了

7、重启mysql命令

sudo /etc/init.d/mysql restart 

注意: mysql安装后位置

执行文件

/usr/bin/mysql 

数据库

/var/lib/mysql  


/var/log/mysql 

控制文件

/etc/mysql/my.cnf   

数据库命令行相关操作

2、创建一个数据库MYSQLDATA

mysql> CREATE DATABASE MYSQLDATA; 

3、选择你所创建的数据库

mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!) 

4、查看现在的数据库中存在什么表

mysql> SHOW TABLES; 

5、创建一个数据库表

mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 

6、显示表的结构:

mysql> DESCRIBE MYTABLE; 

7、往表中加入记录

mysql> insert into MYTABLE values ("hyq","M"); 

8、用文本方式将数据装入数据库表中(例如D:/mysql.txt)

mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE; 

9、导入.sql文件命令(例如D:/mysql.sql)

mysql>use database;  



mysql>source d:/mysql.sql; 

10、删除表

mysql>drop TABLE MYTABLE; 

11、清空表

mysql>delete from MYTABLE; 

12、更新表中数据

mysql>update MYTABLE set sex="f" where name='hyq';  


 


http://hi.baidu.com/selfcool/blog/item/a44e101fce79b1f2e0fe0b9d.html 

二、mysql-proxy

LUA文件介绍

http://www.oreillynet.com/pub/a/databases/2007/07/12/getting-started-with-mysql-proxy.html?page=1 


 


192.168.1.38  proxy  


192.168.1.44  slaver  从机  


192.168.1.55  master  主机  


 


apt-get  mysql-proxy 

配置

1、读写分离脚本

修改默认连接,进行快速测试,不修改的话要等达到连接数时才读写分离

vim /usr/share/mysql-proxy/rw-splitting.lua  



  proxy.global.config.rwsplit = {  




 min_idle_connections = 1,  #默认是4  




 max_idle_connections = 1,  #默认是8  



 



 is_debug = false 



  } 

2、执行读写分离

mysql-proxy  -–proxy-read-only-backend-addresses=10.0.0.6:3306 -–proxy-backend-addresses=10.0.0.5:3306  



 -–proxy-lua-script=/usr/share/mysql-proxy/rw-splitting.lua >/var/log/mysql-proxy/mysql-proxy.log &  



 


 (新建/var/log/mysql-proxy/和mysql-proxy.log 调整属性775 属于chown R mysql.adm  xx组)  


   



(sudo mysql-proxy  --proxy-read-only-backend-addresses=192.168.1.44:3306 




                   --proxy-backend-addresses=192.168.1.55:3306 




                   --proxy-lua-script=/usr/share/mysql-proxy/rw-splitting.lua >/var/log/mysql-proxy/mysql-proxy.log &  



) 

注:当运行sudo mysql-proxy 查询进程后没有4040时候,需要重启mysql ( sudo /etc/init.d/mysql restart) 之后在输入proxy设置

3、查看进程

netstat -ant  


tcp  00 0.0.0.0:40400.0.0.0:*LISTEN   


tcp  00 0.0.0.0:40410.0.0.0:*LISTEN  

启动成功

可以远程连接了,在一台linux主机上连接,进行一些读写操作

4、测试读写分离

进入mysql-proxy机子

a@a-desktop:/usr/share/mysql-proxy$ mysql -utest -p -P4040 -h192.168.1.38  


Enter password:  


Welcome to the MySQL monitor.  Commands end with ; or \g.  


Your MySQL connection id is 25  


Server version: 5.0.51a-3ubuntu5.4-log  


 


Type 'help;' or '\h' for help. Type '\c' to clear the buffer.  


 



mysql> use proxy;  



Database changed 

插入一条记录

mysql> insert into prodata(name) values("zgy");  


Query OK, 1 row affected (0.01 sec)  


 



mysql>select * from proxy;  



Empty set (0.00 sec) 

我们插入了数据没有结果~这就对了读写分离了~~~~

注:有时候mysql_proxy(38)库里会显示出数据,重启系统系统,重新启动mysql后就没有此现象了。

进入主写服务器(192.168.1.55) 查看数据

mysql -utest -p -h192.168.1.55  


use proxy;  


select * from prodata; 

可以查看已经写入了一条记录

进入从读服务器(192.168.1.44)

mysql -utest -p -h192.168.1.44  


use proxy;  


select * from prodata; 

因为没有数据显示

相关推荐