加载中…
正文 字体大小:

ubuntu 9.04 安装mysql-proxy 成功版

(2009-12-10 14:52:40)
标签:

杂谈

分类: linux

http://efeil.blog.163.com/blog/static/118902297200981451346698/

安装mysql

安装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            0 0.0.0.0:4040            0.0.0.0:*               LISTEN    
tcp            0 0.0.0.0:4041            0.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;
因为没有数据显示
说明只能读 不能写

 

0

阅读 评论 收藏 转载 喜欢 打印举报
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有