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;