GNU/Linux >> Linux の 問題 >  >> Linux

致命的なエラー:特権テーブルを開いたりロックしたりできません:テーブル 'mysql.host' が存在しません

chown の後 そして chgrp 'ing /var/lib/mysql @Bad Programmer の回答によると、次のコマンドも実行する必要がある場合があります:

sudo mysql_install_db --user=mysql --ldata=/var/lib/mysql

次に、mysqld を再起動します .


<オール>
  • yum remove mysql* を使用して mysql をアンインストールします

  • /usr/bin/mysql を再帰的に削除 そして /var/lib/mysql

  • ファイル /etc/my.cnf.rmp を削除します

  • ps -e を使用 プロセスをチェックして、mysql がまだ実行されていないことを確認します。

  • reboot でサーバーを再起動します

  • yum install mysql-server を実行 .これにより、mysql クライアントも依存関係としてインストールされるようです。

  • mysql に所有権とグループ権限を与える:

    chown -R mysql /var/lib/mysql

    chgrp -R mysql /var/lib/mysql

  • service mysqld start を使用 MySQLデーモンを起動します。


  • arch Linuxでもこの問題が発生しました。問題は、pacman が MySQL が予期していた場所とは異なる場所にパッケージをインストールしたことでした。これで問題を解決できました:

    sudo mysql_install_db --user=mysql --basedir=/usr/ --ldata=/var/lib/mysql/
    

    これが誰かの役に立てば幸いです!


    Linux
    1. /var/log/messages、/var/log/syslog、および/var/log/kern.logの違いは?

    2. MySQLでテーブルを削除する

    3. PHP と MySQL の基礎:データベースとテーブル

    1. MySQL サーバー エラー 111 に接続できません

    2. エラー:「ソケット '/var/run/mysqld/mysqld.sock' (2) を介してローカル MySQL サーバーに接続できません」 -- /var/run/mysqld/mysqld.sock がありません

    3. /var/www/... の Django static_root - collectstatic へのアクセス許可がありません

    1. Mysqlエラーの解決:開いているファイルが多すぎます

    2. /dev/shm/ と /tmp/ はいつ使用する必要がありますか?

    3. mysql データベースの回復 - mysql/mysqldump がテーブル <database>.<tablename> を指定します (1146)