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
Release: 2023-05-27 15:25:25
forward
3099 people have browsed it

1. Log in to mysql

mysql -uroot -p
Copy after login

2. First check which users there are

select host,user from mysql.user;
Copy after login

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';
Copy after login

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的主机链接
Copy after login

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 '密码';
Copy after login

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';
Copy after login

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;
Copy after login

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 '用户名'@'主机名';
Copy after login

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
Copy after login

Grant the specified table permissions to the user

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

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';
Copy after login

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';
Copy after login

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)
Copy after login

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!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template