Home >Database >Mysql Tutorial >Mysql8 creates, deletes users and authorizes and cancels rights operations.

Mysql8 creates, deletes users and authorizes and cancels rights operations.

PHPz
PHPzforward
2023-05-27 15:25:253065browse

1. Log in to mysql

mysql -uroot -p

2. First check which users there are

select host,user from mysql.user;

Mysql8 creates, deletes users and authorizes and cancels rights operations.

Do not operate the yellow arrow, it is the MySQL system Comes with it; and the red arrow indicates the main administrator. The blue arrow is a sub-user. This is what I matched before. Now delete it and let’s start again.

3. Delete user:

drop user '用户名'@'主机名';
drop user 'wyy'@'192.168.0.105';

Mysql8 creates, deletes users and authorizes and cancels rights operations.

4. Create user

create user '用户名'@'允许那个主机链接' identified by '密码';

create user 'wyy'@'192.168.0.105' identified by 'wyy18222';
只允许192.168.0.105的主机链接

Mysql8 creates, deletes users and authorizes and cancels rights operations.

Remarks:

Mysql8.0 uses caching-sha2-password encryption by default. Old clients may not support it and can be changed to mysql_native_password;

create user 'test'@'%' identified with mysql_native_password BY '密码';

Percent sign %; means that any IP address can be used Link

create user ‘wyy’@‘192.168.0.105’ identified by ‘wyy18222’;This is a link that can only be 192.168.0.105.

5. Change password

Alter user '用户名'@'主机名' identified by '新密码';
alter user 'wyy'@'192.168.0.105' identified by '123';

6. Authorization

Authorize all permissions to the user

grant all privileges on *.* to '用户名'@'主机名' with grant option;

grant all privileges on *.* to 'wyy'@'192.168.0.105' with grant option;

grant: Authorize, grant

privileges :Permissions, privileges

The first asterisk: indicates all databases

The second asterisk: indicates all tables

The "with grant option" indicates that the user can grant permissions to other users, but not beyond the permissions granted to themselves.. It’s okay not to add this.

For example: If wyy only has select and update permissions, but no insert and delete permissions, when authorizing another user, it can only grant it select and update permissions, but not insert and delete permissions.

Authorize individual permissions to users

all privileges can be replaced by select, update, insert, delete, drop, create and other operations

grant select,insert,update,delete on *.* to '用户名'@'主机名';

Authorize specified permissions to users

Grant the specified database permissions to the user

grant all privileges on 数据库 . * to 'wyy'@'192.168.0.105';

grant all privileges on xrs . * to 'wyy'@'192.168.0.105';
将数据库名为xrs的所有权限赋予wyy

Grant the specified table permissions to the user

grant all privileges on 数据库 . 指定表名 to 'wyy'@'192.168.0.105';
将某个数据库下的某个表的权限赋予wyy

Note:

Some people on the Internet can create and empower directly:

grant all privileges * . * to ‘User to be created’@‘localhost’ identified by ‘custom password’;

I tried it in mysql8 but it didn’t work (below version 8 Haven’t tried it yet), you need to create a user first and then grant it, not at the same time

7. Flush privileges

flush privileges;
After setting up a new user or changing the password You need to use flush privileges to refresh MySQL's system permissions related tables,
Otherwise, access denied will appear

Another method is to restart the mysql server to make the new settings take effect. ­

8. Check user authorization

show grants for 'wyy'@'192.168.0.105';

Mysql8 creates, deletes users and authorizes and cancels rights operations.

9. Revoke user authorization (cancel authority)

revoke all privileges on *.* from 'wyy'@'192.168.0.105';

Whatever permissions the user has What permissions should be revoked?

Supplement: Pitfalls encountered by creating users and authorized users in mysql8.0

Creating users:

create user userName@localhost identified with mysql_native_password by 'password' ;(with mysql_native_password Without this, Navicat will not be able to log in prompt: 2059 - authentication plugin... error, because Navicat does not support the default encryption method of the latest database);

Authorized user:

GRANT
ALL PRIVILEGES
ON databaseName.*
TO userName@'ip';(注意这点跟以往数据库都不一样,无需后面跟着IDENTIFIED BY 'password';否则将提示ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'password'' at line 5)

The above is the detailed content of Mysql8 creates, deletes users and authorizes and cancels rights operations.. 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