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 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Go 言語は、効率的かつ簡潔で習得が容易なプログラミング言語であり、同時プログラミングやネットワーク プログラミングに優れているため、開発者に好まれています。実際の開発ではデータベースの操作が欠かせませんが、今回はGo言語を使ってデータベースの追加・削除・変更・クエリ操作を実装する方法を紹介します。 Go 言語では、データベースを操作するために通常、よく使用される SQL パッケージや gorm などのサードパーティ ライブラリを使用します。ここでは SQL パッケージを例として、データベースの追加、削除、変更、クエリ操作を実装する方法を紹介します。 MySQL データベースを使用していると仮定します。

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

Hibernate ポリモーフィック マッピングは、継承されたクラスをデータベースにマップでき、次のマッピング タイプを提供します。 join-subclass: 親クラスのすべての列を含む、サブクラス用の別個のテーブルを作成します。 table-per-class: サブクラス固有の列のみを含む、サブクラス用の別個のテーブルを作成します。 Union-subclass: join-subclass と似ていますが、親クラス テーブルがすべてのサブクラス列を結合します。

HTML はデータベースを直接読み取ることはできませんが、JavaScript と AJAX を通じて実現できます。この手順には、データベース接続の確立、クエリの送信、応答の処理、ページの更新が含まれます。この記事では、JavaScript、AJAX、および PHP を使用して MySQL データベースからデータを読み取る実践的な例を示し、クエリ結果を HTML ページに動的に表示する方法を示します。この例では、XMLHttpRequest を使用してデータベース接続を確立し、クエリを送信して応答を処理することで、ページ要素にデータを埋め込み、データベースを読み取る HTML の機能を実現します。

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

PHP でデータベース接続エラーを処理するには、次の手順を使用できます。 mysqli_connect_errno() を使用してエラー コードを取得します。 mysqli_connect_error() を使用してエラー メッセージを取得します。これらのエラー メッセージをキャプチャしてログに記録することで、データベース接続の問題を簡単に特定して解決でき、アプリケーションをスムーズに実行できるようになります。

PHP は Web サイト開発で広く使用されているバックエンド プログラミング言語であり、強力なデータベース操作機能を備えており、MySQL などのデータベースとの対話によく使用されます。ただし、中国語の文字エンコーディングは複雑であるため、データベース内で中国語の文字化けを処理するときに問題が発生することがよくあります。この記事では、文字化けの一般的な原因、解決策、具体的なコード例を含め、データベース内の中国語の文字化けを処理するための PHP のスキルと実践方法を紹介します。文字化けの一般的な原因は、データベースの文字セット設定が正しくないことです。データベースの作成時に、utf8 や u などの正しい文字セットを選択する必要があります。

Golang でデータベース コールバック関数を使用すると、次のことを実現できます。 指定されたデータベース操作が完了した後にカスタム コードを実行します。追加のコードを記述せずに、個別の関数を通じてカスタム動作を追加します。コールバック関数は、挿入、更新、削除、クエリ操作に使用できます。コールバック関数を使用するには、sql.Exec、sql.QueryRow、または sql.Query 関数を使用する必要があります。
