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,有点遗憾。
热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Go语言是一种高效、简洁且易于学习的编程语言,因其在并发编程和网络编程方面的优势而备受开发者青睐。在实际开发中,数据库操作是不可或缺的一部分,本文将介绍如何使用Go语言实现数据库的增删改查操作。在Go语言中,我们通常使用第三方库来操作数据库,比如常用的sql包、gorm等。这里以sql包为例介绍如何实现数据库的增删改查操作。假设我们使用的是MySQL数据库。

Hibernate多态映射可映射继承类到数据库,提供以下映射类型:joined-subclass:为子类创建单独表,包含父类所有列。table-per-class:为子类创建单独表,仅包含子类特有列。union-subclass:类似joined-subclass,但父类表联合所有子类列。

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步

HTML无法直接读取数据库,但可以通过JavaScript和AJAX实现。其步骤包括建立数据库连接、发送查询、处理响应和更新页面。本文提供了利用JavaScript、AJAX和PHP来从MySQL数据库读取数据的实战示例,展示了如何在HTML页面中动态显示查询结果。该示例使用XMLHttpRequest建立数据库连接,发送查询并处理响应,从而将数据填充到页面元素中,实现了HTML读取数据库的功能。

PHP中处理数据库连接报错,可以使用以下步骤:使用mysqli_connect_errno()获取错误代码。使用mysqli_connect_error()获取错误消息。通过捕获并记录这些错误信息,可以轻松识别并解决数据库连接问题,确保应用程序的顺畅运行。

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())

PHP是一种广泛应用于网站开发的后端编程语言,它具有强大的数据库操作功能,常用于与MySQL等数据库进行交互。然而,由于中文字符编码的复杂性,在处理数据库中文乱码时常常会出现问题。本文将介绍PHP处理数据库中文乱码的技巧与实践,包括常见的乱码原因、解决方法和具体的代码示例。常见的乱码原因数据库字符集设置不正确:数据库在创建时需选择正确的字符集,如utf8或u

在Golang中使用数据库回调函数可以实现:在指定数据库操作完成后执行自定义代码。通过单独的函数添加自定义行为,无需编写额外代码。回调函数可用于插入、更新、删除和查询操作。必须使用sql.Exec、sql.QueryRow或sql.Query函数才能使用回调函数。
