您好,欢迎访问一九零五行业门户网

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/mysql2) 下载mysql5.6.10的安装文件 (mysql-5.6.10-linux-glibc2.5-i686.tar.gz) 281.7m 到/home/modify/mysql目录中。[modify@h209 ~]$ ls /home/modify/mysqlmysql-5.6.10-linux-glibc2.5-i686.tar.gz3) 创建第一个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.gzexecuting 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>>/tmpthe mysql sandbox, version 3.0.30(c) 2006-2013 giuseppe maxiainstalling with the following parameters:upper_directory= /home/modify/sandboxessandbox_directory= msb_5_6_10sandbox_port= 5610check_port= no_check_port= datadir_from= scriptinstall_version= 5.6basedir= /home/modify/mysql/5.6.10tmpdir= my_file= operating_system_user= modifydb_user= msandboxremote_access= 127.%ro_user= msandbox_rorw_user= msandbox_rwrepl_user= rsandboxdb_password= msandboxrepl_password= rsandboxmy_clause= log-error=msandbox.errmaster= slaveof= high_performance= prompt_prefix= mysqlprompt_body= \d) > force= no_ver_after_name= 1verbose= load_grants= 1no_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_all4)连接到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 3server 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 itsaffiliates. other names may be trademarks of their respectiveowners.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/mysql5.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/sandboxessandbox_directory= msb_5_6_10sandbox_port= 5610check_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/sandboxessandbox_directory= msb_5_6_10_asandbox_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 usingchange_ports data load_grants my proxy_startrestartstartstop use此目录中的start, stop, restart用于启动,,关闭,重启mysqld。6) sbtool 此命令可以copy ,move, change port,delete某个sandbox。详情看文档。7) make_replication_sandbox 可以创建一主二从(当然这个结构也是可以用参数来调整的)。[modify@h209 ~]$ make_replication_sandbox 5.6.10installing and starting masterinstalling slave 1installing slave 2starting slave 1... sandbox server startedstarting slave 2... sandbox server startedinitializing slave 1initializing slave 2replication 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 5server 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 itsaffiliates. other names may be trademarks of their respectiveowners.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 eventmaster_host: 127.0.0.1master_user: rsandboxmaster_port: 18675connect_retry: 60master_log_file: mysql-bin.000001read_master_log_pos: 2590relay_log_file: mysql_sandbox18677-relay-bin.000002relay_log_pos: 2753relay_master_log_file: mysql-bin.000001slave_io_running: yesslave_sql_running: yesreplicate_do_db:replicate_ignore_db:replicate_do_table:replicate_ignore_table:replicate_wild_do_table:replicate_wild_ignore_table:last_errno: 0last_error:skip_counter: 0exec_master_log_pos: 2590relay_log_space: 2939until_condition: noneuntil_log_file:until_log_pos: 0master_ssl_allowed: nomaster_ssl_ca_file:master_ssl_ca_path:master_ssl_cert:master_ssl_cipher:master_ssl_key:seconds_behind_master: 0master_ssl_verify_server_cert: nolast_io_errno: 0last_io_error:last_sql_errno: 0last_sql_error:replicate_ignore_server_ids:master_server_id: 1master_uuid: c52c239c-78d6-11e2-917f-00241db92e69master_info_file: /home/modify/sandboxes/rsandbox_5_6_10/node2/data/master.infosql_delay: 0sql_remaining_delay: nullslave_sql_running_state: slave has read all relay log; waiting for the slave i/o thread to update itmaster_retry_count: 86400master_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,有点遗憾。
其它类似信息

推荐信息