突然、ローカルのMySQL 5.5サーバーがWindows上で実行を停止しましたXP SP3。
WAMP ApacheとWAMP MySQLもインストールしていますが、WAMP MySQLが実行されていません。エラーログは以下を示します:
ポートを3306から3307に変更しようとしましたが、サービスはまだ開始されず、エラーが発生しました。
イベントビューアに次のように表示されます。
どうやら、サーバーが実行されている場合にのみ、mysql_upgradeを実行できます。サービスを開始できない場合、どうすれば「mysql.Host」を作成できますか?
MySQLサーバーをアンインストールして再インストールしました。インストール後の構成ウィザードで、次のエラーが表示されます。サービスを開始できませんでした。エラー:0。
ここからどのように進めますか?
次のコマンドを実行します
mysql_install_db
windowsで起動する前にmysqlを初期化します。
mysqld --initialize
最初に行う必要があるのは、次のコマンドを実行することです。
use mysql
show tables;
違いに注意してください
MySQL 5.0はmysqlスキーマに17のテーブルを持っています
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| func |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| Host |
| proc |
| procs_priv |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
MySQL 5.1のmysqlスキーマには23のテーブルがあります
+---------------------------+
| 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 |
+---------------------------+
MySQL 5.5のmysqlスキーマには24のテーブルがあります
+---------------------------+
| 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 |
| proxies_priv |
| servers |
| slow_log |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
Mysql.pluginはMySQL 5.0には存在しないことに注意してください。 MySQL 5.0を何らかの方法でインストールし、MySQL 5.5の重要なテーブルを作成しなくなったと推測するのは非常に妥当です。
ここに良いニュースがあります。あなたが試すことができるものがあります。
この例では
ここにあなたのステップがあります
それでおしまい。
これをWindowsで実行している場合は、同じ原則を適用する必要があります。
試してみる !!!
PDATE 2011-07-29 16:15 EDT
ユーザー名にDB固有の権限があった場合の手順は次のとおりです
Mysql-test-runを実行すると、次の出力が表示されます。
./mysql-test-run
Logging: ./mysql-test-run
2013-09-14 03:39:32 2566 [Warning] Setting lower_case_table_names=2 because file system for /var/folders/fr/sn4l2f393_v_ytcwkb0lx7_40000gp/T/_M2mZFQPjV/ is case insensitive
2013-09-14 03:39:32 2566 [Note] Plugin 'FEDERATED' is disabled.
2013-09-14 03:39:32 2566 [Note] Binlog end
2013-09-14 03:39:32 2566 [Note] Shutting down plugin 'MyISAM'
2013-09-14 03:39:32 2566 [Note] Shutting down plugin 'CSV'
MySQL Version 5.6.13
Checking supported features...
- SSL connections supported
Using suites: main,sys_vars,binlog,federated,rpl,innodb,innodb_fts,perfschema,funcs_1,opt_trace,parts,auth_sec
Collecting tests...
- adding combinations for binlog
- adding combinations for rpl
Removing old var directory...
Creating var directory '/Users/das/mysql/mysql-5.6.13-osx10.7-x86_64/mysql-test/var'...
Installing system database...
Using server port 50409
==============================================================================
TEST RESULT TIME (ms) or COMMENT
--------------------------------------------------------------------------
Datadirを移動する場合は、新しいdatadir権限を付与するだけでなく、すべての親ディレクトリに権限を付与する必要があります。
私はdatadirをハードドライブに移動し、Ubuntuに次のようにマウントしました。
/media/*user*/Data/
そして私のdatadirはデータベースでした。
メディア、ユーザー、データディレクトリのそれぞれにアクセス許可を771に設定する必要があります。
Sudo chmod 771 *DIR*
これが機能しない場合、mysqlを機能させる別の方法は、/ etc/mysql/my.cnfのユーザーをrootに変更することです。ただし、セキュリティの観点からすると、いくつかの問題があります。
あなたはすでにmysqlを実行しているようです
試す
ps ax|grep mysql
出力が表示された場合は、おそらく停止する必要があります(またはボックスを再起動します)。
出力が表示されない場合は、デーモン化せずにmysqldを実行して、出力を確認してください。
サービスを開始できませんでした。エラー:0。
MySQLパスを環境変数に追加します。
人々が質問に答えるのを助けるために、windowsタグを追加しました。
私の背景は窓ではありませんが、原則が適用されます。
Mysqlプロセスはすでに実行されていますか?もしそうなら、アンインストールする前にそれを殺す必要があります。アンインストール/再インストールを試みたときにまだ実行中だった場合、プロセスとファイルがぶら下がって完全にアンインストールできなくなります。
サービスウィンドウを開き、名前にmysqlが含まれるものを探し、再起動で起動しないように設定されていることを確認します。次に、実行中のプログラムウィンドウの[実行中のプロセス]タブを開き(CTRL-ALT-DELを使用して開きます)、名前にmysqlが含まれている実行中のプロセスを探して強制終了します。
実行中のmysqlプロセスがなくなったことに満足したら、続行できます。再起動して、実行中のmysqlプロセスが停止していないことを確認してください。
この時点で、mysqlを再インストールして起動できるはずです。