Home >Database >Mysql Tutorial >How to grant remote permissions to users in mysql grant all privileges on

How to grant remote permissions to users in mysql grant all privileges on

PHPz
PHPzforward
2023-05-26 22:04:172449browse

mysql grant all privileges on gives users remote permissions

mysql grant all privileges on gives users remote permissions

  • Change table method.

#When your account does not allow remote login and can only connect to localhost. At this time, you only need to change the host item in the user table in the mysql database on the mysql server from "localhost" to % to realize user remote login

Run on the machine where mysql is installed:

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';

  • Authorization method

[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
  • Authorization method.

For example, you want user to use mypwd from any If the host is connected to the mysql server.

Run on the machine where mysql is installed:

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;
  • If you want to allow user user to connect to the server from the host with ip 192.168.1.4 mysql server, and use mypwd as the password

Run on the machine where mysql is installed:

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

Note that FLUSH PRIVILEGES must be used after authorization; otherwise it will not take effect immediately.

High version database cannot modify user permissions according to grant all privileges on *.* to "root"@"%" identified by "xxxx";

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

High version method to modify user permissions:

# 先创建远程用户,再授权
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)

Check again and find that there is 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 authorization statement description grant all privileges, create users, delete users

mysql authorization statement:

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
  • all privileges ==》 Indicates all permissions, including addition, deletion, modification and query permissions

  • *.*             ==> All All tables under the database

  • root@% ==》 All tables under all databases and all permissions are given to the root user % means that the root user can perform operations on any machine Connection login

  • The password used for remote login connection is "123456".

Refresh privileges list: flush privileges

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

Create user: CREATE USER 'jack'@'localhost' IDENTIFIED BY 'test123';

View users that have been created in the database: select user,host from user;--user table In the database named mysql that comes with the database,

delete the user: delete from user where user = 'jack';

drop user ‘jack'@'%';

drop user will delete all the user's information. And delete will only clear the user table, and other information such as the db table will still exist.

Clear cache: FLUSH PRIVILEGES

The above is the detailed content of How to grant remote permissions to users in mysql grant all privileges on. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete