2013-07-22 22 views
6

私はjavaプログラムのためのmysqlのデータベースを作成しています。私のプログラムは私の友人のシステムでうまくいきます。しかし、私はmysqlにいくつか問題があります。テーブル 'mysql.user'が存在しません:ERROR

クエリは以下の通りです:

mysql> create database sampledb; 

Query OK, 1 row affected (0.00 sec) 

mysql> use sampledb; 

Database changed 

mysql> create user zebronics identified by 'zebra123'; 

ERROR 1146 (42S02): Table 'mysql.user' doesn't exist 

私はdb.Pleaseヘルプの任意のユーザを作成して傾けます?

+0

このリンクを最初に見ることができます:http://dev.mysql.com/doc/refman/5.1/en/create-table.html –

+0

私の場合は、すべてが元通りでした(テーブル 'mysql'は*破損していない*または*落としていない*)MySQLのワークベンチ**が 'Users and Privilege'セクションが開かれた状態で**コマンドライン**から' SELECT * FROM mysql.user'を試していました。 mysql.userテーブルは 'MySQL-Workbench'によってロックされていました)。 Workbenchを閉じて問題を解決しました。私は逆もまた真であることを観察しました。もし私が 'shell'から' root'としてログインし、Workbenchの 'Users and Privilege'セクションに移動しようとすると失敗します。 –

答えて

2

MySQLインストールで何かがうんざりしているように見えます。 mysql.userテーブルが存在するはずです。 mysqlと呼ばれるデータベースにテーブルを作成するには、サーバー上で以下のコマンドを実行してみてください:

mysql_install_db 

問題が解決しない場合は、多分あなたのMySQLデータディレクトリに対する権限が台無しにされています。権限が何であるべきかについては、「既知の良い」インストールを参考にしてください。

また、MySQLを完全に再インストールすることもできます。

2

あなたのデータベースがあることも、データベースを再構築するには次のリンクでは、このテーブルルックを見つけるカント場合は、

mysql user BASE TABLE MyISAM 

に次の値を持つ行を見つけることができるかどうかを参照してください。腐敗している。これらが不足している場合、あなたはきれいにする必要があり

mysql_install_db

かを使用して表を再作成してみてください

use mysql; 
select * from user; 

をすることができます(完全に削除)し、再インストール:mysql.userが存在するかどうかをチェックしてみてくださいMySQL。

0
show databases; 
+--------------------+ 
| Database   | 
+--------------------+ 
| information_schema | 
| datapass_schema | 
| mysql    | 
| test    | 
+--------------------+ 
4 rows in set (0.05 sec) 

mysql> use mysql; 
Reading table information for completion of table and column names 
You can turn off this feature to get a quicker startup with -A 

Database changed 
mysql> show tables 
    -> ; 
+---------------------------+ 
| Tables_in_mysql   | 
+---------------------------+ 
| columns_priv    | 
| db      | 
| event      | 
| func      | 
| general_log    | 
| help_category    | 
| help_keyword    | 
| help_relation    | 
| help_topic    | 
| host      | 
| ndb_binlog_index   | 
| plugin     | 
| proc      | 
| procs_priv    | 
| servers     | 
| slow_log     | 
| tables_priv    | 
| time_zone     | 
| time_zone_leap_second  | 
| time_zone_name   | 
| time_zone_transition  | 
| time_zone_transition_type | 
| user      | 
+---------------------------+ 
23 rows in set (0.00 sec) 

mysql> create user m identified by 'm'; 
Query OK, 0 rows affected (0.02 sec) 

上記のようにmysqlとtableのデータベースを確認してください。その場合、mysqlのインストールは適切ではありません。

は再びMac上/usr/loca/mysql/bin/に位置しています

mysql_install_db 
+1

_mysql_install_db_は推奨されていません。 mysqld --initializeに切り替えることを検討してください – revoke

0

てみランmysqladmin reloadを、テーブルをインストールするために、他の記事で言及として、以下のコマンドを使用します。

関連する問題