web-dev-qa-db-ja.com

mysqlの管理ユーザーを `root`から別のものに変更する

Ubuntuにmysqlをインストールしたばかり-

Sudo apt-get install mysql-server
Sudo apt-get install mysql-client

インストールプロセスの一環として、rootユーザーのパスワードを提供しました。

これでログインできます

mysql -u root -p

しかし、私はroot以外のユーザーがmysql管理を所有することを望んでいます。私はPostgresの世界からやって来て、これまでMySQLを使用したことがないので、このユーザーをどのように変更できるのか疑問に思っています。

ありがとう!

[〜#〜]編集[〜#〜]

これは Wordpressインストールガイド からの推奨に基づいています:

システムのrootユーザーとしてコマンド「mysql」を入力しないように、mysql管理者としていわゆる「致命的な」アカウントを選択する方が安全です。 (rootとしての作業を避けることができるときはいつでも、悪用される可能性を減らします。)

3
user2490003

-u rootとしてMySQLに接続してから、

まず、ルートの内容を確認します。

SHOW GRANTS;

次に、ルートと同様に、新しいユーザーを追加します。

GRANT ALL PRIVILEGES ON *.* TO 'foobar'@'localhost' IDENTIFIED BY ('long secure pwd') WITH GRANT OPTION;

ここで、foobarは、見積もりで言及されている「致命的」です。

次に、foobarとして再ログインして確認します。次に、根を取り除きます(または少なくともそれを去勢します)。おそらくこれ

REVOKE ALL *.* FROM root@localhost;

次に、

SHOW GRANTS FOR root@localhost;
SELECT user, Host FROM mysql.user WHERE user = 'root';

1つ目は、GRANT USAGEのみを表示する必要があります。これにより、ルートインできますが、特権はありません。 rootを確認するための2番目のチェックは、他の「ホスト」から取得できます。何か方法があれば、それらをザッピングすることについて話し合うことができます。

2
Rick James