$ emerge dev-db/mysqlインストールされたMySQLのバージョンは5.1.70 でした。
$ /usr/bin/mysql_install_dbMySQLを起動します。
$ /etc/init.d/mysql startMySQLが起動したら、セキュリテイのためにルートのパスワードを変更しておきます。
$ /usr/bin/mysqladmin -u root password 'new-password'
$ mysql -u root -h localhost -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.1.70-log Gentoo Linux mysql-5.1.70 Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
アプリケーションを作る際は専用のデータベースとユーザーを作る必要があります。
データベースと、そのデータベースにアクセスするためのユーザーを作成します。
mysql> create database gside; Query OK, 1 row affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | gside | | mysql | | test | +--------------------+ 4 rows in set (0.00 sec)
mysql> create user guser identified by 'gside'; Query OK, 0 rows affected (0.00 sec) mysql> select user,host from mysql.user; +-------+-----------+ | user | host | +-------+-----------+ | guser | % | | root | 127.0.0.1 | | | localhost | | root | localhost | +-------+-----------+ 4 rows in set (0.00 sec)
mysql> grant select,update,insert,delete ON gside.* to guser@"localhost" identified by 'gside'; Query OK, 0 rows affected (0.01 sec) mysql> grant select,update,insert,delete ON gside.* to guser@"192.168.122.1" identified by 'gside'; Query OK, 0 rows affected (0.00 sec)/etc/mysql/my.confから以下の行ををコメントアウトします。
#bind-address = 127.0.0.1MySQLを再起動すれば、リモートからguserでアクセスできるようになります。
$ mysql -h 192.168.122.102 --port=3306 -u guser -p Enter password: ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.122.102' (111)/etc/mysql/my.confの設定を確認する必要があります。
#bind-address = 127.0.0.1
$ mysql -h 192.168.122.102 --port=3306 -u guser --protocol=TCP ERROR 1130 (HY000): Host '192.168.122.1' is not allowed to connect to this MySQL serverリモートホストに対して権限を設定していないかもしれません。 接続仕様としているリモートホスト(下記の例では192.168.122.1)に権限を設定してください。
mysql> grant select,update,insert,delete ON gside.* to guser@"192.168.122.1" identified by 'gside'; Query OK, 0 rows affected (0.00 sec)