web-dev-qa-db-ja.com

/ var / lib / mysqlにchownを使用して所有者をルートから変更し、mysqlでエラー1049(42000)を取得するようになりました

Ubuntuでは、以前、ターミナルで次のコードを使用してmysqlデータベースを作成しました。

$ my sql -u root -p

次に、mysql内で:

CREATE DATABASE securities_master;

このデータベースに関連するコンテンツを表示するためにファイルエクスプローラーを使用しようとしていました。しかし、/ var/lib/mysqlフォルダーを開くためのアクセス許可がなかったため、このフォルダーのアクセス許可を変更したいと思いました。私はstackoverflowで検索を行いましたが、何をしているかを完全に理解せずに、次のようなものを使用しました(私のユーザー名はweiです)。

Sudo chown -R root:wei /var/lib/mysql

または(残念ながら、ターミナルウィンドウを閉じてから、何を入力したのか正確にはわかりません)

Sudo chown -R wei:wei /var/lib/mysql

OR

Sudo chown -R wei /var/lib/mysql

これにより、ディレクトリ内を表示してファイルを表示できるようになったので、進歩していると思いました。しかし、これを実行すると、mysqlでデータベースを使用しようとしたときに次のことに気付きました。

USE securities_database;

次のようなエラーメッセージが表示されていました。

ERROR 1049 (42000): Unknown database 'securities_master'

これは、以前のchownの使用に関連していると思います。さらにスタックオーバーフロー検索でこれを調べたところ、「悪いことが起こる可能性がある」として、ルートから一部のファイルのルート所有権をわざわざ奪うべきではないという印象を受けました。私は次の方法でルートの所有権を復元しようとしました:

Sudo chown -R root /var/lib/mysql

および/または:

Sudo chown -R root:root /var/lib/mysql

しかし、残念ながら、私はまだ同じエラーメッセージを受け取るようです。

私の質問が非常に基本的であるか、またはそのような新人エラーであると思われる場合は、Ubuntu、Linux、およびmysqlのまったくの初心者であるとお詫びします。ありがとう。

5
Wei

/var/lib/mysql内のすべての通常の所有権はmysql:mysqlです。したがって、次の方法で修正できるはずです。

Sudo chown -R mysql:mysql /var/lib/mysql
17
Barmar