


Mysql8 creates, deletes users and authorizes and cancels rights operations.
1. Log in to mysql
mysql -uroot -p
2. First check which users there are
select host,user from mysql.user;
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';
4. Create user
create user '用户名'@'允许那个主机链接' identified by '密码'; create user 'wyy'@'192.168.0.105' identified by 'wyy18222'; 只允许192.168.0.105的主机链接
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';
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Big data structure processing skills: Chunking: Break down the data set and process it in chunks to reduce memory consumption. Generator: Generate data items one by one without loading the entire data set, suitable for unlimited data sets. Streaming: Read files or query results line by line, suitable for large files or remote data. External storage: For very large data sets, store the data in a database or NoSQL.

MySQL query performance can be optimized by building indexes that reduce lookup time from linear complexity to logarithmic complexity. Use PreparedStatements to prevent SQL injection and improve query performance. Limit query results and reduce the amount of data processed by the server. Optimize join queries, including using appropriate join types, creating indexes, and considering using subqueries. Analyze queries to identify bottlenecks; use caching to reduce database load; optimize PHP code to minimize overhead.

Backing up and restoring a MySQL database in PHP can be achieved by following these steps: Back up the database: Use the mysqldump command to dump the database into a SQL file. Restore database: Use the mysql command to restore the database from SQL files.

How to insert data into MySQL table? Connect to the database: Use mysqli to establish a connection to the database. Prepare the SQL query: Write an INSERT statement to specify the columns and values to be inserted. Execute query: Use the query() method to execute the insertion query. If successful, a confirmation message will be output.

One of the major changes introduced in MySQL 8.4 (the latest LTS release as of 2024) is that the "MySQL Native Password" plugin is no longer enabled by default. Further, MySQL 9.0 removes this plugin completely. This change affects PHP and other app

To use MySQL stored procedures in PHP: Use PDO or the MySQLi extension to connect to a MySQL database. Prepare the statement to call the stored procedure. Execute the stored procedure. Process the result set (if the stored procedure returns results). Close the database connection.

Creating a MySQL table using PHP requires the following steps: Connect to the database. Create the database if it does not exist. Select a database. Create table. Execute the query. Close the connection.

Oracle database and MySQL are both databases based on the relational model, but Oracle is superior in terms of compatibility, scalability, data types and security; while MySQL focuses on speed and flexibility and is more suitable for small to medium-sized data sets. . ① Oracle provides a wide range of data types, ② provides advanced security features, ③ is suitable for enterprise-level applications; ① MySQL supports NoSQL data types, ② has fewer security measures, and ③ is suitable for small to medium-sized applications.
