MySQLの管理
MySQL管理
MySQLサーバーの起動とシャットダウン
Windowsシステムの下で
Windowsシステムの下で、コマンドウィンドウ(cmd)を開き、MySQLインストールディレクトリのbinディレクトリに入ります。
起動:
cd c:/mysql/bin mysqld --console
閉じる:
cd c:/mysql/bin mysqladmin -uroot shutdown
Linuxシステムの下では
まず、次のコマンドを通じてMySQLサーバーが起動しているかどうかを確認する必要があります:
ps -ef | grep mysqld
MySqlが起動している場合は、上記のコマンドmysql プロセス リストが出力されます。mysql が起動していない場合は、次のコマンドを使用して mysql サーバーを起動できます:
root@host# cd /usr/bin./mysqld_safe &
現在実行中の MySQL サーバーをシャットダウンしたい場合は、次のコマンドを実行できます:
root@host# cd /usr/bin./mysqladmin -u root -p shutdownEnter password: ******
MySQL ユーザー設定
必要な場合 MySQL ユーザーを追加するには、mysql データベースのユーザー テーブルに新しいユーザーを追加するだけです。
以下はユーザーを追加する例です。ユーザー名はguest、パスワードはguest123で、ユーザーにはSELECT、INSERT、UPDATE操作の実行が許可されています:
root@host# mysql -u root -p Enter password:******* mysql> use mysql;Database changedmysql> INSERT INTO user (host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'guest', PASSWORD('guest123'), 'Y', 'Y', 'Y'); Query OK, 1 row affected (0.20 sec) mysql> FLUSH PRIVILEGES; Query OK, 1 row affected (0.01 sec) mysql> SELECT host, user, password FROM user WHERE user = 'guest'; +-----------+---------+------------------+| host | user | password |+-----------+---------+------------------+| localhost | guest | 6f8c114b58f2ce9e |+-----------+---------+------------------+1 row in set (0.00 sec)
ユーザーを追加するときは、次の使用に注意してください。 MySQL が提供する PASSWORD() 関数を使用してパスワードを暗号化します。 上の例では、暗号化後のユーザー パスワードが 6f8c114b58f2ce9e であることがわかります。
注: MySQL5.7 では、ユーザー テーブルのパスワードは、authentication_string に置き換えられています。
注:password() 暗号化関数は 8.0.11 で削除され、MD5() 関数で置き換えることができます。
注: FLUSH PRIVILEGES ステートメントを実行する必要があることに注意してください。 このコマンドを実行すると、認可テーブルが再ロードされます。
このコマンドを使用しない場合、mysql サーバーを再起動しない限り、新しく作成したユーザーを使用して mysql サーバーに接続することはできません。
ユーザーの作成時に、対応する権限列で、挿入ステートメントで「Y」に設定できます。ユーザー権限のリストは次のとおりです:
Select_priv
Insert_priv。
Update_priv
Delete_priv
Create_priv
Drop_priv
Reload_priv
Shutdown_priv
Process_priv
File_priv
Grant_priv
References_priv
Index_priv
Alter_priv
次のコマンドは、SQL の GRANT コマンドを使用して、ユーザー zara をパスワード zara123 で指定されたデータベース TUTORIALS に追加します。
root@host# mysql -u root -pEnter password:*******mysql> use mysql;Database changed mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP -> ON TUTORIALS.* -> TO 'zara'@'localhost' -> IDENTIFIED BY 'zara123';
上記のコマンドは、mysql データベースの user テーブルにユーザー情報レコードを作成します。
注: MySQL の SQL ステートメントはセミコロン (;) で終わります。
/etc/my.cnf ファイル構成
通常、ファイルのデフォルト構成は次のとおりです。
[mysqld]datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock[mysql.server]user=mysql basedir=/var/lib[safe_mysqld]err-log=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
構成ファイルでは、別の構成を指定できます。エラー ログ ファイルの保存ディレクトリ。通常、これらの設定を変更する必要はありません。
MySQL を管理するコマンド
以下は MySQL データベースの使用でよく使用されるコマンドのリストです:
USE データベース名:
操作する MySQL データベースとその後のすべての Mysql コマンドを選択しますこのコマンドを使用すると、すべてこのデータベースのみに使用されます。
mysql> use RUNOOB;Database changed
SHOW DATABASES:
MySQL データベース管理システムのデータベース リストを一覧表示します。
mysql> SHOW DATABASES; +--------------------+| Database | +--------------------+ | information_schema | | RUNOOB | | cdcol | | mysql | | onethink | | performance_schema | | phpmyadmin | | test | | wecenter | | wordpress | +--------------------+10 rows in set (0.02 sec)
SHOW TABLES:
指定したデータベースのすべてのテーブルを表示します。 このコマンドを使用する前に、use コマンドを使用して操作するデータベースを選択する必要があります。
mysql> use RUNOOB;Database changed mysql> SHOW TABLES;+------------------+ | Tables_in_runoob | +------------------+| employee_tbl | | runoob_tbl | | tcount_tbl | +------------------+3 rows in set (0.00 sec)
データテーブルの列を表示:
データテーブルの属性、属性タイプ、主キー情報、NULLかどうか、デフォルト値、その他の情報を表示します。
mysql> SHOW COLUMNS FROM runoob_tbl; +-----------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------------+--------------+------+-----+---------+-------+| runoob_id | int(11) | NO | PRI | NULL | | | runoob_title | varchar(255) | YES | | NULL | | | runoob_author | varchar(255) | YES | | NULL | | | submission_date | date | YES | | NULL | | +-----------------+--------------+------+-----+---------+-------+4 rows in set (0.01 sec)
SHOW INDEX FROM data table:
PRIMARY KEY (主キー) を含む、データテーブルの詳細なインデックス情報を表示します。
mysql> SHOW INDEX FROM runoob_tbl; +------------+------------+----------+--------------+------------- +-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |+------------+------------+----------+--------------+-------------+-----------+-- -----------+----------+--------+------+------------+---------+---------------+ | runoob_tbl | 0 | PRIMARY | 1 | runoob_id | A | 2 | NULL | NULL | | BTREE | | |+------------+------------+----------+--------------+- ------------+-----------+-------------+----------+--------+---- -+------------+---------+---------------+1 row in set (0.00 sec)
SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] G:
このコマンドは、Mysql データベース管理システムのパフォーマンスと統計情報を出力します。
mysql> SHOW TABLE STATUS FROM RUNOOB; # 显示数据库 RUNOOB 中所有表的信息 mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'; # 表名以runoob开头的表的信息 mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'\G; # 加上 \G,查询结果按列打印
関連ビデオチュートリアルの推奨事項: MySQL の使用