yuu_nkjm blog


2011-04-10(Sun) [長年日記]

[MySQL][Linux][openSUSE] MySQLのインストールと初期設定(ユーザとパスワードの設定まで)

インストール

yastでmysql-community-server(mysqlとか名前はちょっと違うかも)をインストールする.概要は"mysql - A True Multiuser, Multithreaded SQL Database Server"となっている.

MySQLを起動する.

/etc/init.d/mysql start

自動起動の設定をする

chkconfig mysql on

MySQLにrootでログイン

MySQLのrootのパスワードはデフォルトだと何もなし.

$ mysql -u root

rootにパスワードをかける.

SET PASSWORD FOR root@localhost=PASSWORD('hoge');
SET PASSWORD = PASSWORD('hoge');

権限の設定

一般的な書式.

GRANT 権限 ON DB名.テーブル名 TO ユーザ名 INDENTIFIED BY 'パスワード' WITH GRANT OPTION;
GRANT all privileges on *.* to nkjm@localhost IDENTIFIED BY 'passwd' WITH GRANT OPTION ;

上記のlocalhostからの接続が基本か.%を用いたワイルドカードも指定できる.接続するホストを限定したい場合は,直接指定する.

GRANT all privileges on *.* to nkjm@'%' IDENTIFIED BY 'passwd';
GRANT all privileges on *.* to nkjm@10.0.0.1 IDENTIFIED BY 'passwd' WITH GRANT OPTION ;

パスワードの確認

select user,host,password from mysql.user;
+------+----------------+-------------------------------------------+
| user | host           | password                                  |
+------+----------------+-------------------------------------------+
| nkjm | %              | *0000000sf09a8098120u3j1                  |
| nkjm | 10.228.150.211 | *0000000sf09a8098120u3j1                  |
| nkjm | localhost      | *0000000sf09a8098120u3j1                  |
+------+----------------+-------------------------------------------+
show grants for nkjm;
+-----------------------------------------------------------------------------------------------------+
| Grants for nkjm@%                                                                                   |
+-----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'nkjm'@'%' IDENTIFIED BY PASSWORD '*0000000sf09a8098120u3j1                 ' |
+-----------------------------------------------------------------------------------------------------+

ユーザの削除

GRANT all privileges on *.* to nkjm@'%' IDENTIFIED BY 'passwd';

rootパスワードの変更

MySQL :: MySQL 4.1 リファレンスマニュアル :: A.4.2 忘れたルートパスワードをリセットする方法を参考のこと.

もう一つの方法として、mysql クライアントを使用して新しいパスワードを設定することができます。
上述したように、mysqld を停止して、--skip-grant-tables オプションを指定して再起動します。
以下のように、mysqld サーバに接続します。
shell> mysql -u root mysql
mysql クライアントで以下のコマンドを実行します。
mysql> UPDATE user SET Password=PASSWORD('mynewpassword')
    ->             WHERE User='root';
mysql> FLUSH PRIVILEGES;
この後、新しいパスワードを使用して接続できます。
これで、適切に mysqld を停止し、再起動できます。

関連ページ

本日のリンク元
その他のリンク元
検索

トップ «前の日記(2011-03-20(Sun)) 最新 次の日記(2011-04-11(Mon))» 月表示 編集 設定
2006|01|06|12|
2007|06|09|
2008|01|03|04|06|07|08|09|10|12|
2009|01|02|05|06|07|08|10|11|12|
2010|03|04|05|06|07|08|09|10|11|
2011|01|02|03|04|05|06|07|08|09|11|12|
2012|01|02|04|06|07|08|10|11|12|
2013|01|02|03|07|08|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|
2015|01|02|07|11|12|
2016|01|03|05|07|08|09|