Ubuntu 9.04安装Mysql Proxy Lua是本文要介绍的内容,主要是来了解Mysql Proxy在Ubuntu 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;
因为没有数据显示
说明只能读 不能写。
小结:Ubuntu 9.04安装Mysql Proxy Lua测试成功版的内容介绍完了,希望通过本文的学习能对你有所帮助!