ホームページ  >  記事  >  データベース  >  mysqlでユーザーにリモート権限を付与する方法

mysqlでユーザーにリモート権限を付与する方法

PHPz
PHPz転載
2023-05-26 22:04:172351ブラウズ

mysql ですべての権限を付与すると、ユーザーにリモート アクセス許可が与えられます。

mysql ですべての権限が付与され、ユーザーにリモート アクセス許可が与えられます。

  • 変更テーブル メソッド。

#アカウントでリモート ログインが許可されておらず、ローカルホストにのみ接続できる場合。現時点では、ユーザーのリモート ログインを実現するには、mysql サーバー上の mysql データベースのユーザー テーブルのホスト項目を「localhost」から % に変更するだけです。

mysql がインストールされているマシンで実行します。

1. mysql -u root -p

2. select host,user from user where user='root';

3. update user set host = '% ' where user= 'root' and host='localhost';

4. select host, user from user where user='root';

  • 認可方法

[root@aaa-server ~]# mysql -u root -p
MariaDB [(none)]> grant all privileges on *.* to root@'%' identified by '123' with grant option;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
  • 認可方法。

たとえば、次のようにします。ホストが mysql サーバーに接続されている場合、ユーザーは任意の mypwd を使用できます。

mysql がインストールされているマシン上で実行します:

1. GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'mypwd' WITH
      GRANT OPTION;  
2.FLUSH   PRIVILEGES;
模板:
grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;
flush privileges;
  • ユーザーに許可したい場合ユーザーは、IP 192.168.1.4 mysql サーバーを持つホストからサーバーに接続し、パスワードとして mypwd を使用します。

mysql がインストールされているマシンで実行します:

 GRANT ALL PRIVILEGES ON *.* TO 'user'@'192.168.1.3' IDENTIFIED BY 'mypwd' WITH GRANT OPTION;   
 FLUSH   PRIVILEGES;

FLUSH PRIVILEGES は承認後に使用する必要があることに注意してください。そうしないとすぐに有効になりません。

上位バージョンのデータベースは、*.* のすべての権限を識別された "root"@"%" に付与するようにユーザー権限を変更できません。 by "xxxx";

mysql> SELECT @@VERSION;
+-----------+
| @@VERSION |
+-----------+
| 8.0.14    |
+-----------+
1 row in set (0.00 sec)

ユーザー権限を変更するための上位バージョンの方法:

# 先创建远程用户,再授权
mysql> create user 'root'@'%' identified by  'password';
Query OK, 0 rows affected (0.03 sec)
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

もう一度確認して、root %

mysql>  select User,Host from user;
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)
————————————————

mysql 認可ステートメントの説明がすべての権限を付与していることを確認します。 、ユーザーの作成、ユーザーの削除

mysql authorization state:

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
  • all権限 ==》 追加、削除、変更を含むすべての権限を示します。およびクエリ権限

  • *.* ==> All データベース下のすべてのテーブル

  • root@% ==》 すべてのすべてのテーブルデータベースとすべての権限が root ユーザーに与えられます。% は、root ユーザーが任意のマシンで操作を実行できることを意味します。 接続ログイン

  • リモート ログイン接続に使用されるパスワードは、「123456」です。

権限リストの更新: 権限のフラッシュ

CREATE DATABASE 数据库名;
CREATE USER '用户名'@'%' IDENTIFIED BY '密码';    
GRANT all privileges ON 数据库名.* to '用户名'@'%' identified by '密码' WITH GRANT OPTION; 
flush privileges;

ユーザーの作成: CREATE USER 'jack'@'localhost' IDENTIFIED BY 'test123';

データベースに作成されたユーザーを表示します: select user,host from user;--user table データベースに付属の mysql という名前のデータベースで、

ユーザーを削除します: delete from user where user = 'jack';

drop user ‘jack'@'%';

drop user はユーザーの情報をすべて削除します。また、削除は user テーブルのみをクリアし、db テーブルなどの他の情報は残ります。

キャッシュのクリア: フラッシュ権限

以上がmysqlでユーザーにリモート権限を付与する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。