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-04-11(Mon) [長年日記] 編集

[MySQL] MySQLでのデータベースの作成,テーブルの作成,データの追加・更新・削除,フィールド名(カラム名,属性名)の確認,カラムの追加

以下のページがまとまっている.

データベースの作成

create database database_name;

テーブルの作成

CREATE TABLE task(task_id int, source varchar(10), target varchar(10));
INSERT INTO task(task_id, source, target) values(0, 'ja', 'en');
INSERT INTO task(task_id, source, target) values(1, 'en', 'ja');
UPDATE task set source='en', target='ja' WHERE task_id='1';
DELETE FROM task WHERE task_id='1';

フィールド名(カラム名,属性名)の確認

SHOW TABLES;
+----------------------+
| Tables_in_crowdtrans |
+----------------------+
| task                 |
+----------------------+
 
SHOW COLUMNS FROM task;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| id          | int(11)     | YES  |     | NULL    |       |
| source      | varchar(10) | YES  |     | NULL    |       |
| target      | varchar(10) | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+

カラムの追加

gamesテーブルのscriptカラムの後ろにinit_scriptカラムを追加する.

ALTER TABLE games ADD init_script AFTER script;

2011-04-12(Tue) [長年日記] 編集

[MySQL] MySQLの小ネタ(バイナリログ,接続数,タイムアウト他)

バイナリログを見る

mysqlbinlog mysql-bin.000100|lv

接続数のチューニング

MySQLの接続数が多いときのチューニング | KennyQi PHP Blog

タイムアウトの確認と設定

mysql -u root -p -e 'show variables like "wait_timeout"'
Enter password:
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout  | 28800 |
+---------------+-------+
mysql -u root -p -e 'SET GLOBAL wait_timeout = 120'

MySQLでカラム名の確認

mysql> describe published_dictionaries;
+-----------------+--------------+------+-----+---------+-------+
| Field           | Type         | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+-------+
| dictionary_id   | varchar(255) | NO   | PRI | NULL    |       |
| dictionary_name | varchar(255) | NO   |     | NULL    |       |
| file_name       | varchar(255) | NO   |     | NULL    |       |
| user_id         | varchar(255) | NO   |     | NULL    |       |
| deployed        | datetime     | NO   |     | NULL    |       |
+-----------------+--------------+------+-----+---------+-------+
7 rows in set (0.00 sec)

2011-04-13(Wed) [長年日記] 編集

[Postgress] Postgressのメモ

su postgres
psql database_name

database_nameというデータベースに接続する.

langridResources=# \d
langridResources=#
langridResources=# \d
langridResources=# DROP TABLE test;
DROP TABLE
langridResources=# \d
langridResources=# DROP TABLE tes;
DROP TABLE
langridResources=# DROP TABLE testtest;
DROP TABLE
langridResources=# DROP TABLE testtest;
ERROR:  テーブル"testtest"は存在しません
langridResources=# \d
langridResources=# \t
タプルのみを表示しています。
langridResources=# \t test
unrecognized boolean value; assuming "on".
タプルのみを表示しています。
langridResources=# \t nkjm
unrecognized boolean value; assuming "on".
タプルのみを表示しています。
langridResources=# select * from resource;

トップ «前月 最新 翌月» 追記 設定
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|