// 一覧用テンプレート
#topicpath
----

***コンテンツ一覧 [#i8fa12cd]
#ls2

***TIPS集 [#p78c0dbc]

#contents

**別ホストのMySQLに接続する [#nd01d9e1]
別のホストに接続するには -h を使います。ユーザ名を指定してログインするときは-uを使います。また、パスワードも入力してログインするときは、-pを使います。
 mysql -h [IPアドレス] -u root -p
これだとパスワードを聞いてくるので、コマンドラインに直接パスワードを書きたい場合は
 mysql -h [IPアドレス] -u root  --password=hoge

***文字セットを指定して接続する [#md75aab5]
 mysql -u mkino --password=hoge --default-character-set=ujis


*** MySQL 5.0を使う [#c2f720e3]
Fedora Core release 3 (Heidelberg) にインストールしました。とりあえず、
 MySQL-Max-5.0.15-0.i386.rpm
 MySQL-server-5.0.15-0.i386.rpm
 MySQL-client-5.0.15-0.i386.rpm <- Linux上のクライアント
 mysql-administrator-1.1.4-win.msi <- Windowsのクライアントとして
で動いてるっぽいです。


*** データベースを作成する [#d036fe90]
 mysql> CREATE DATABASE データベース名

*** データベースを表示する [#j9c0a1c4]
 [root@www ~]# mysqlshow   -uroot -p
 Enter password:
 +--------------------+
 |     Databases      |
 +--------------------+
 | information_schema |
 | mysql              |
 | test               |
 | webdb1             |
 +--------------------+




***データベース情報を表示する [#j291d710]
 [root@www ~]# mysqlshow webdb1 -p -uroot
 Enter password:
 Database: webdb1
 +--------+
 | Tables |
 +--------+
 | rss    |
 +--------+

***テーブル情報を表示する [#z88c039d]

 [root@www ~]# mysql webdb1 -p -uroot
 Enter password:
 Welcome to the MySQL monitor.  Commands end with ; or \g.
 Your MySQL connection id is 53 to server version: 5.0.15-max-log
 
 Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
 mysql> describe rss;
 +-------+------------------+------+-----+---------------------+----------------+
 | Field | Type             | Null | Key | Default             | Extra          |
 +-------+------------------+------+-----+---------------------+----------------+
 | id    | int(10) unsigned | NO   | PRI | NULL                | auto_increment |
 | title | varchar(255)     | YES  |     |                     |                |
 | link  | text             | YES  |     | NULL                |                |
 | date  | datetime         | NO   |     | 0000-00-00 00:00:00 |                |
 +-------+------------------+------+-----+---------------------+----------------+
 4 rows in set (0.00 sec)
 
 mysql>



*** テーブル定義を参照する [#qc88633b]
テーブルがどの様なSQL文で作成されたか表示します。

 mysql> show create table webdb1.rss;
 --------------------------+
 | Table | Create Table
 --------------------------+
 | rss   | CREATE TABLE `rss` (
   `id` int(10) unsigned NOT NULL auto_increment,
   `title` varchar(255) default '',
   `link` text,
   `date` datetime NOT NULL default '0000-00-00 00:00:00',
   PRIMARY KEY  (`id`)
 ) ENGINE=MyISAM DEFAULT CHARSET=ujis COMMENT='RSS List' |
 +-------+---------------------------------------------------
 1 row in set (0.00 sec)
参考:~
http://www.rfs.jp/sitebuilder/sql/04/07.html#SHOW%20CREATE%20TABLE



***my.cnfたちのある場所 [#y29b92f7]
rpmでインストールした場合、
 /usr/share/mysql/my-medium.cnf
などにあるみたいです。




***ユーザ情報の削除。ユーザの追加 [#ca51c9e9]
DB Magazine 2004/12を読んだのですが、あらかじめ設定されているユーザ情報があると混乱するので、まずは消してからrootなどを新規作成した方がすっきりするとのこと。こんな感じでやってみました。

 # mysql -p
 Enter password:
 Welcome to the MySQL monitor.  Commands end with ; or \g.
 Your MySQL connection id is 19 to server version: 5.0.15-standard
 
 mysql> truncate table mysql.user;
 Query OK, 0 rows affected (0.00 sec)
 
 mysql> flush privileges;
 Query OK, 0 rows affected (0.00 sec)
 
 mysql> select * from mysql.user;
 Empty set (0.00 sec)
 
 mysql> grant all privileges on *.* to 'root'@'localhost' identified by 'hogehoge' with grant option;
 Query OK, 0 rows affected (0.00 sec)

grantする前にログアウトしちゃうと、入れなくなっちゃうので注意!


あわせて、リモートで接続するためのIDも作成しておきます。
 mysql> grant all privileges on webdb1.* to xxx identified by 'yyy';
 Query OK, 0 rows affected (0.01 sec)


ところで
 *.* to 'root'@'localhost' identified by 'hogehoge'
の意味は 全てのデータベースの全てのテーブル(*.*)にrootはlocalhostからのみ接続可能、パスワードはhogehoge という意味ですね。たとえばリモート接続可能で、webdb1というデータベースの全てのテーブルにアクセス可能なxxxというユーザを作成するには
 webdb1.* to xxx identified by 'hogehoge'
となります。







***ユーザ追加 [#sc565914]
webdb1というデータベースに接続可能なhogeというユーザ(パスワードはfuga)を追加する

 mysql> grant all privileges on webdb1.* to hoge identified by 'fuga';
 Query OK, 0 rows affected (0.00 sec)
このユーザはリモートからも接続可能みたいですね。ただしwebdb1というデータベースのみ。

***ユーザへ権限追加。 [#t001b2c3]
 mysql> grant all privileges on webdb1.* to hoge identified by 'hogehoge';
 Query OK, 0 rows affected (0.00 sec)
 mysql> grant all privileges on webdb2.* to hoge identified by 'hogehoge';
 Query OK, 0 rows affected (0.00 sec)
とやっていけば、複数のデータベース(webdb1,webdb2)にアクセスできるようになる模様。








*** 他のユーザの権限を見る [#j5acda4a]
 >mysql -u root mysql
 mysql> use mysql;
 Database changed
 mysql> select * from user;
 +-------------+------+----------+-------------+-------------+--------------+------------+ 〜
 | Host        | User | Password | Select_priv | Insert_priv | Update_priv  | Grant_priv | 〜
 +-------------+------+----------+-------------+-------------+--------------+------------+ 〜
 | localhost   | root |          | Y           | Y           | Y            | Y          | 〜
 | ctkyos18121 | root |          | Y           | Y           | Y            | Y          | 〜
 | localhost   |      |          | N           | N           | N            | N          | 〜
 | ctkyos18121 |      |          | N           | N           | N            | N          | 〜
 +-------------+------+----------+-------------+-------------+--------------+------------+ 〜
 4 rows in set (0.01 sec)
 mysql>



 


***環境設定を参照する [#c927aa3b]
 mysqladmin variable


***文字コードを指定して、接続する [#n816fda4]
 mysql -u xxxx -h xxx.xxx.xxx.xxx -p --default-character-set=ujis
など





***ログのディレクトリ [#k7ebf345]
 /var/lib/mysql/hogehoge.err
errっていっても標準出力もココのような。。。


***バイナリログを切り替える [#z6245b3b]
バイナリログとは、いわゆるトランザクションのログです。実行されたSQL文が格納されています。
このログの書き込みファイル名をIncrementするのが以下のコマンドです。
 $ mysqladmin  flush-logs -u root --password=xxxxx
つまりこのファイルを

***バイナリログを表示する [#f7d267d2]
 $ mysqlbinlog バイナリログファイル名
これでバイナリログを表示することができます。


***関連リンク [#nd56bba6]
-[[Error - "Host not allowed to connect to server" / / MySQL Data Base 接続方法:http://www.sqlgate.com/jp/support/connectmysql.html]]










----
この記事は
#vote(おもしろかった,そうでもない)


#comment

#topicpath


SIZE(10){現在のアクセス:&counter;}

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS