MAX38計算機の酒向メモ
をほぼそのまま踏襲。(いろいろと間違いがあったのだが)
●MySQL本体
apt-get install MySQL-server /* MySQLサーバー */
apt-get install MySQL-Max /* 上記の追加機能 */
apt-get install MySQL-client /* MySQLクライアント */
apt-get install MySQL-devel /* MySQL クライアントをコンパイル*/
/* する場合に必要なライブラリと */
/* インクルードファイル */
apt-get install MySQL-shared /* 特定の言語とアプリケーションが*/
/* MySQL を動的にロードして使用す*/
/* るために必要な共有ライブラリ */
/* (libmysqlclient.so*) */
※クライアント側はMySQL-clientだけでよい。
apt-get install zlib-devel /* MySQL クライアントをコンパイル*/
/* する時に必要なライブラリ(Zlib)*/
●MySQLの初期化
+mysql_install_dbスクリプトで初期化
su
/usr/bin/mysql_install_db
※すべての権限を管理する mysql データベースと、MySQL のテストに
使用できる test データベースを作成します。さらに、
mysql_install_dbを実行するユーザと rootユーザの権限エントリ
も作成します。これらのエントリはパスワードなしで作成されます。
●MySQLの自動起動
/etc/init.d/mysqlとして起動スクリプトがコピーされているので,
OS起動時に自動的にMySQLが起動する.
●rootにパスワードをかける
※以下は一般ユーザでも実行できる
/usr/bin/mysqladmin -u root password '*********'
●ユーザーを追加
- rootでログイン
mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 5.0.27-Max
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
- 匿名ユーザを削除する
DELETE FROM mysql.user where user="";
Query OK, 2 rows affected (0.00 sec)
- 一般ユーザーを作成
GRANT SELECT,INSERT,DELETE,UPDATE,CREATE,DROP,FILE,ALTER,INDEX ON *.* TO anir@localhost IDENTIFIED BY 'atacama';
GRANT SELECT,INSERT,DELETE,UPDATE,CREATE,DROP,FILE,ALTER,INDEX ON *.* TO anir@'%' IDENTIFIED BY 'atacama';
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
- ユーザーの追加を有効に
FLUSH PRIVILEGES;
※PRIVILEGES mysqlデータベースの権限テーブルから権限を再読み込みする。
Query OK, 0 rows affected (0.00 sec)
- 確認
SELECT * FROM mysql.user;
+-----------------------------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
| Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections |
+-----------------------------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
| localhost | root | *06036150D315BEB76BBB6394DCE5438286BA6469 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 |
| uni.mtk.ioa.s.u-tokyo.ac.jp | root | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 |
| localhost | anir | *06036150D315BEB76BBB6394DCE5438286BA6469 | Y | Y | Y | Y | Y | Y | N | N | N | Y | N | N | Y | Y | N | N | N | N | N | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | 0 |
| % | anir | *06036150D315BEB76BBB6394DCE5438286BA6469 | Y | Y | Y | Y | Y | Y | N | N | N | Y | N | N | Y | Y | N | N | N | N | N | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 | 0 |
+-----------------------------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
4 rows in set (0.00 sec)
●不用なデータベースを削除
- データベースの現状を確認
SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec)
- 不用なデータベースを削除
!!!!!! DROP DATABASE mysql; !!!!! <= mysqlを消してはいけない!!
DROP DATABASE test;
!!!!!! Query OK, 17 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
- データベースのリストを表示
SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
+--------------------+
2 row in set (0.00 sec)
●作成したユーザではいりなおす
●osyo(MAX38)のデータベースをインポートする
- osyoのMySQLデータディレクトリのバックアップ
ssh osyo -l max38
cd BACKUP/MYSQL/
mysqldump -u root -x --all-databases -p > mysql.20070913
# これですべてのデータベースのバックアップが可能。
# 特定のデータベースのみのバックアップの場合は、
# $ mysqldump -u root データベース名 -p > dump.sql
#で、uniへ転送
scp mysql.20070913 root@uni:
- osyoのMYSQLへ復元
----------------------------------------------------
mysqldumpのすべてのデータベースのバックアップを復元するには、
$ mysql -u root -p < dump.sql
のように、mysqlクライアントにファイルの内容をリダイレクトしてあげるだけです。
特定データベースのみの復元は
$ mysql -u root データベース名 < dump.sql
----------------------------------------------------
mysql -u root -p < mysql.20070913
Enter password:
ERROR 1146 (42S02) at line 12: Table 'mysql.time_zone_name' doesn't exist
といっておこられる。うーん。
しかもPCを再起動して再度挑戦すると
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
となって、サーバが動いていなさそう。
さらに、サーバを動かそうとすると
service mysql start
Starting MySQL...................................[ 失敗 ]
と起動すら失敗してしまう。なぜ?
- ネットワーク回りの設定の問題か?
と言うわけで、ネットワークの設定をosyoに揃えて
/etc/hosts
127.0.0.1 localhost.localdomain localhost uni
/etc/resolv.conf
search mtk.ioa.s.u-tokyo.ac.jp
domain mtk.ioa.s.u-tokyo.ac.jp
nameserver 157.82.120.103
nameserver 157.82.120.101
としてみた。→だめ
- 結局osyoと比べてみて試行錯誤したところ、原因はデータベースの消しすぎ。
mysql
というデータベースは消してはいけなかったのだ。
- osyoのMYSQLへ復元(2)
と言うわけで再度、
mysql -u root -p < mysql.20070913
を実行してOK。
- 復元を確認
mysql -u anir -p
SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| max38_env |
| max38_status |
| mysql |
+--------------------+
OK!
- ところが、MySQLサーバを再起動するとパスワードが違うと言われて読めなくなってしまう…
どうやら、max38のユーザ情報ですべて上書きされたらしい。
rootもmax38のパスワードで起動できた。
なので、再度ユーザー情報追加。
GRANT SELECT,INSERT,DELETE,UPDATE,CREATE,DROP,FILE,ALTER,INDEX ON *.* TO anir@localhost IDENTIFIED BY 'atacama';
GRANT SELECT,INSERT,DELETE,UPDATE,CREATE,DROP,FILE,ALTER,INDEX ON *.* TO anir@'%' IDENTIFIED BY 'atacama';
確認
SELECT * FROM mysql.user;
+-----------+-------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+
| Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections |
+-----------+-------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+
| localhost | root | 16c787a20677d285 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 |
| meijin | root | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 |
| localhost | max38 | 16c787a20677d285 | Y | Y | Y | Y | Y | Y | N | N | N | Y | N | N | Y | Y | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 |
| % | max38 | 16c787a20677d285 | Y | Y | Y | Y | Y | Y | N | N | N | Y | N | N | Y | Y | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 |
| localhost | anir | 21c0e75663135825 | Y | Y | Y | Y | Y | Y | N | N | N | Y | N | N | Y | Y | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 |
| % | anir | 21c0e75663135825 | Y | Y | Y | Y | Y | Y | N | N | N | Y | N | N | Y | Y | N | N | N | N | N | N | N | | | | | 0 | 0 | 0 |
+-----------+-------+------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+
6 rows in set (0.00 sec)
|