mysql sandbox_MySQL::Sandbox

MySQL::Sandbox这东西用起来还真简单hellip;hellip;可以快速地安装一个或者一组mysql服务端程序。安装的时候使用root用户,只需

MySQL::Sandbox

这东西用起来还真简单……可以快速地安装一个或者一组mysql服务端程序。

安装的时候使用root用户,只需要一条命令就搞定:

# cpan MySQL::Sandbox

日常使用的时候,就不需要root权限了。

以用户modify为例:

1) 建立一个存放mysql源程序的仓库,并设置环境变量。

[modify@H209 ~]$ mkdir /home/modify/mysql

=/home/modify/mysql

2) 下载mysql5.6.10的安装文件 (mysql-5.6.10-linux-glibc2.5-i686.tar.gz) 281.7M到/home/modify/mysql目录中。

[modify@H209 ~]$ ls /home/modify/mysql

mysql-5.6.10-linux-glibc2.5-i686.tar.gz

3) 创建第一个sandbox:

第一次需要解压,所以时间会长一些

[modify@H209 ~]$ make_sandbox /home/modify/mysql/mysql-5.6.10-linux-glibc2.5-i686.tar.gz

unpacking /home/modify/mysql/mysql-5.6.10-linux-glibc2.5-i686.tar.gz

Executing low_level_make_sandbox --basedir=/home/modify/mysql/5.6.10 \

--sandbox_directory=msb_5_6_10 \

--install_version=5.6 \

--sandbox_port=5610 \

--no_ver_after_name \

--my_clause=log-error=msandbox.err

>>/tmp

The MySQL Sandbox, version 3.0.30

(C) 2006-2013 Giuseppe Maxia

installing with the following parameters:

upper_directory

= /home/modify/sandboxes

sandbox_directory

= msb_5_6_10

sandbox_port

= 5610

check_port

=

no_check_port

=

datadir_from

= script

install_version

= 5.6

basedir

= /home/modify/mysql/5.6.10

tmpdir

=

my_file

=

operating_system_user

= modify

db_user

= msandbox

remote_access

= 127.%

ro_user

= msandbox_ro

rw_user

= msandbox_rw

repl_user

= rsandbox

db_password

= msandbox

repl_password

= rsandbox

my_clause

= log-error=msandbox.err

master

=

slaveof

=

high_performance

=

prompt_prefix

= mysql

prompt_body

= \d) >

force

=

no_ver_after_name

= 1

verbose

=

load_grants

= 1

no_load_grants

=

no_run

=

no_show

=

do you agree? ([Y],n)

安装之后的文件存在于 /home/modify/sandboxes/msb_5_6_10 目录中。而且已经启动了mysqld.

[modify@H209 ~]$ ls /home/modify/sandboxes/

clear_all msb_5_6_10 plugin.conf restart_all sandbox_action send_kill_all start_all status_all stop_all use_all

4)连接到sandbox:

[root@H209 modify]# /home/modify/sandboxes/msb_5_6_10/use

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

Your MySQL connection id is 3

Server version: 5.6.10 MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql nonemysql noneuser();

+--------------------+

+--------------------+

| msandbox@localhost |

+--------------------+

sec再创建一个5.6.10的sandbox:

在第一次创建之后,源程序仓库中已经有了一个名为5.6.10的目录,其实就是从mysql-5.6.10-linux-glibc2.5-i686.tar.gz中解压出来的:

[modify@H209 ~]$ ls /home/modify/mysql

5.6.10 mysql-5.6.10-linux-glibc2.5-i686.tar.gz

此时再创建5.6.10的sandbox,就比较简单了:

[modify@H209 ~]$ make_sandbox 5.6.10

......

upper_directory

= /home/modify/sandboxes

sandbox_directory

= msb_5_6_10

sandbox_port

= 5610

check_port

=

no_check_port

=

datadir_from

= script

......

......

do you agree? ([Y],n) y

然后提示: /home/modify/sandboxes/msb_5_6_10 already exists.

不止这个目录会冲突,mysqld使用的端口也会冲突,于是还要加一个参数:

[modify@H209 ~]$ make_sandbox 5.6.10 -- --check_port

......

upper_directory

= /home/modify/sandboxes

sandbox_directory

= msb_5_6_10_a

sandbox_port

= 5611

.....

安装目录变成了 msb_5_6_10_a, 端口也加了1,变为5611,相当智能。

[modify@H209 ~]$ ls /home/modify/sandboxes/msb_5_6_10_a/

change_paths clear grants.mysql msb my.sandbox.cnf rescue_mysql_dump.sql send_kill status tmp USING

change_ports data load_grants my proxy_start

restart

start

stop use

此目录中的start, stop, restart用于启动,,关闭,重启mysqld。

6) sbtool 此命令可以copy ,move, change port,delete某个sandbox。

详情看文档。

7) make_replication_sandbox 可以创建一主二从(当然这个结构也是可以用参数来调整的)。

[modify@H209 ~]$ make_replication_sandbox 5.6.10

installing and starting master

installing slave 1

installing slave 2

starting slave 1

... sandbox server started

starting slave 2

... sandbox server started

initializing slave 1

initializing slave 2

replication directory installed sandboxes/rsandbox_5_6_10

[modify@H209 ~]$ ls /home/modify/sandboxes/rsandbox_5_6_10/

check_slaves clear_all enable_gtid initialize_slaves m master node1 node2 restart_all s1 s2 send_kill_all start_all status_all stop_all use_all

此目录中的m相当于use master, s1相当于use slave 1, s2相当于 use slave 2。

[modify@H209 ~]$ /home/modify/sandboxes/rsandbox_5_6_10/s2

Warning: /home/modify/.mylogin.cnf should be readable/writable only by current user.

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

Your MySQL connection id is 5

Server version: 5.6.10-log MySQL Community Server (GPL)

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

slave2 noneshow slave status \G

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 127.0.0.1

Master_User: rsandbox

Master_Port: 18675

Connect_Retry: 60

Master_Log_File: mysql-bin.000001

Read_Master_Log_Pos: 2590

Relay_Log_File: mysql_sandbox18677-relay-bin.000002

Relay_Log_Pos: 2753

Relay_Master_Log_File: mysql-bin.000001

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 2590

Relay_Log_Space: 2939

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 1

Master_UUID: c52c239c-78d6-11e2-917f-00241db92e69

Master_Info_File: /home/modify/sandboxes/rsandbox_5_6_10/node2/data/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position: sec)

slave2 none没有使用到最新的Auto_Position与GTID,有点遗憾。

logo.gif

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值