您的位置:首页 > 数据库 > MySQL

mysql-proxy 在UBUNTU 下安装和测试

2012-02-19 20:45 405 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: