ホームページ  >  記事  >  データベース  >  mysqlで新しい権限を作成し、パスワードを設定する方法

mysqlで新しい権限を作成し、パスワードを設定する方法

藏色散人
藏色散人オリジナル
2020-10-23 09:48:032970ブラウズ

Mysql で新しい権限を作成し、パスワードを設定する方法: 最初に CREATE USER コマンドを使用してユーザーを作成し、次に GRANT コマンドを使用して承認し、最後に SET PASSWORD コマンドを使用してユーザー パスワードを設定および変更します。

mysqlで新しい権限を作成し、パスワードを設定する方法

推奨: 「mysql ビデオ チュートリアル

MySQL ユーザーの作成と認可

1.ユーザーの作成

コマンド:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

手順:

username: 作成するユーザー名

host: ユーザーがログに記録できるホストを指定します。では、ローカル ユーザーの場合は、localhost を使用できます。ユーザーが任意のリモート ホストからログインできるようにする場合は、ワイルドカード %

password: ユーザーのログイン パスワードを使用できます。パスワードは次のとおりです。空の場合、ユーザーはサーバーへのログインにパスワードは必要ありません。

例:

CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';

2。権限:

コマンド:

GRANT privileges ON databasename.tablename TO 'username'@'host'

説明:

privileges: SELECT、INSERT、UPDATE などのユーザー操作権限。すべての権限を付与したい場合は、ALL

databasename: データベース名 ## を使用します。

#tablename: テーブル名。ユーザーにすべてのデータベースへのアクセスを許可する場合、テーブルの対応する操作権限は、*.*

例:

GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';
GRANT ALL ON maindataplus.* TO 'pig'@'%';
のように * で表すことができます。

注:

上記のコマンドで認証されたユーザーは、他のユーザーを認証できません。ユーザーを認証したい場合は、次のコマンドを使用してください:

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

3. ユーザー パスワードの設定と変更

コマンド:

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

現在ログインしているユーザーの場合は、次を使用します:

SET PASSWORD = PASSWORD("newpassword");

例:

SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");

4. ユーザー権限を取り消します

コマンド:

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

命令:

privilege、データベース名、テーブル名: 承認の一部と同じ

例:

REVOKE SELECT ON *.* FROM 'pig'@'%';

注:

次のように (または同様の) ユーザー 'pig'@'%' を承認する場合: GRANT SELECT ON test.user TO 'pig'@'%' を実行し、次に REVOKE SELECT ON *.* FROM 'pig' を使用します。 @'%'; コマンドは、テスト データベースのユーザー テーブルに対するユーザーの SELECT 操作を元に戻すことはできません。逆に、認可に GRANT SELECT ON *.* TO 'pig'@'%'; が使用されている場合、REVOKE SELECT ON test.user FROM 'pig'@'%'; コマンドは、テストデータベースのユーザーテーブルで権限を選択します。

詳細情報は、コマンド SHOW GRANTS FOR 'pig'@'%'; を使用して表示できます。

5. ユーザーの削除

Command:

DROP USER 'username'@'host';

今日の開発中にCentos7にMySQL5.6バージョンをインストールした後、テーブルに新しい Weicheng アカウントを作成し、パスワードを設定しましたが、Weicheng アカウントで mysql にログインすると、「mysql -uweicheng -p」を使用してログインするとエラーが報告されることがわかりました。パスワードが正しければログインできませんでしたが、最終的に「mysql -uweicheng」を直接使用できることが分かりました。パスワードを入力せずにログインできます。

その後、データをクエリした理由は、「データベースに空のユーザーが存在するはずです。そうであれば、

select * from mysql.user where user='';

を使用して空のユーザーが存在するかどうかを確認し、その後

use mysql;
delete from user where user = '';
を使用します」としました。

を使用して冗長な空のアカウントを削除します。次に、

flush privileges;­

を使用して権限テーブルをリロードし、最後に

service mysqld restart

を使用して mysql サービスを再起動します。問題は解決されました。今すぐマークしてください。 !

ヒント:

1. mysql サービスを再起動することを忘れないでください。そうしないと有効になりません。msyql を再起動しなかったため、問題を解決できませんでした。

2. msyql のユーザー テーブルは、mysql データベースのユーザー テーブルにあり、主なフィールドはホスト、ユーザー、パスワードなどで、mysql 管理のメイン テーブルとして使用されます。

mysql リフレッシュ許可コマンド: FLUSH PRIVILEGES; (通常、データベース ユーザー情報が更新された後に使用されます)

mysql サーバーを再起動するという別の方法もあります

以上がmysqlで新しい権限を作成し、パスワードを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。