Home > Database > Mysql Tutorial > body text

How to create new permissions and set password in mysql

藏色散人
Release: 2020-10-23 09:48:03
Original
3017 people have browsed it

Mysql method to create new permissions and set passwords: First create a user through the CREATE USER command; then use the GRANT command to authorize; finally, set and change the user password through the SET PASSWORD command.

How to create new permissions and set password in mysql

Recommended: "mysql video tutorial"

MySQL user creation and authorization

1. Create user

Command:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
Copy after login

Instructions:

username: the user name you will create

host: Specify the host on which the user can log in , if it is a local user, you can use localhost. If you want the user to log in from any remote host, you can use the wildcard %

password: the user's login password. The password can be empty. If it is empty, the user can No password is required to log in to the server

Example:

CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';
Copy after login

2. Authorization:

Command:

GRANT privileges ON databasename.tablename TO 'username'@'host'
Copy after login

Description:

privileges: User Operation permissions, such as SELECT, INSERT, UPDATE, etc. If you want to grant all permissions, use ALL

databasename: database name

tablename: table name. If you want to grant the user access to all databases The corresponding operation permissions of the table can be represented by *, such as *.*

Example:

GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';
GRANT ALL ON maindataplus.* TO 'pig'@'%';
Copy after login

Note:

Users authorized with the above command cannot authorize other users. If you want the user to be authorized, use the following command:

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
Copy after login

3. Set and change user password

Command:

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
Copy after login

If you are the currently logged in user, use:

SET PASSWORD = PASSWORD("newpassword");
Copy after login

Example:

SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
Copy after login

4. Revoke user permissions

Command:

REVOKE privilege ON databasename.tablename FROM 'username'@'host';
Copy after login

Instructions:

privilege, databasename, tablename: Same as authorization Part of

Example:

REVOKE SELECT ON *.* FROM 'pig'@'%';
Copy after login

Note:

If you authorize user 'pig'@'%' like this (or similar): GRANT SELECT ON test.user TO 'pig'@'%', then using the REVOKE SELECT ON *.* FROM 'pig'@'%'; command cannot undo the user's SELECT operation on the user table in the test database. On the contrary, if the authorization is using GRANT SELECT ON *.* TO 'pig'@'%';, then the REVOKE SELECT ON test.user FROM 'pig'@'%'; command cannot revoke the user's access to the user table in the test database. Select permission.

Detailed information can be viewed with the command SHOW GRANTS FOR 'pig'@'%';.

5. Delete user

Command:

DROP USER 'username'@'host';
Copy after login

After installing MySQL5.6 version in Centos7 during development today, I created a new Weicheng account in the table and set a password. However, when I logged in to mysql with the Weicheng account, I found that if I used "mysql -uweicheng -p" to log in, an error would be reported. Even if the password was correct, I could not log in. Finally, I found that I could directly use " mysql -uweicheng" You can log in without entering a password.

Later, the reason for querying the data was: there should be empty users in the database. If so, use

select * from mysql.user where user='';
Copy after login

to check if there are any, and then use

use mysql;
delete from user where user = '';
Copy after login

to delete the redundant blank accounts. Then, use

flush privileges;­
Copy after login

to reload the permission table, and finally use

service mysqld restart
Copy after login

to restart the mysql service. The problem is solved. Mark it now!

Tip:

1. Be sure to remember to restart the mysql service, otherwise it will not take effect. I have not been able to solve the problem because I did not restart msyql!

2. The user table of msyql is in the user table in the mysql database. The main fields are host, user, password, etc., which are used as the main tables for mysql management.

mysql refresh permission command: FLUSH PRIVILEGES; (generally used after database user information is updated)

There is another way, which is to restart the mysql server

The above is the detailed content of How to create new permissions and set password in mysql. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
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