Basic Mysql user operations
Create a user:
mysql> create user 'cai'@'localhost' identified by '123456';Query OK, 0 rows affected (0.00 sec)mysql> select user,host from mysql.user; +---------------+-----------+| user | host |+---------------+-----------+| cai | localhost || mysql.session | localhost || mysql.sys | localhost || root | localhost || wordpress | localhost |+---------------+-----------+5 rows in set (0.00 sec)
[root@cairui ~]# mysql -ucai -p123456mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 275Server version: 5.7.21-debug Source distributionCopyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Authorization:
Command: GRANT privileges ON databasename. tablename TO 'username' @ 'host'
mysql> grant select,delete,create,insert,update on aa.* to 'cai'@'localhost';Query OK, 0 rows affected (0.00 sec)mysql> show grants for cai@localhost;+-----------------------------------------------------------------------------+| Grants for cai@localhost |+-----------------------------------------------------------------------------+| GRANT USAGE ON *.* TO 'cai'@'localhost' || GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON `aa`.* TO 'cai'@'localhost' |+-----------------------------------------------------------------------------+2 rows in set (0.00 sec)
Revoke User Permissions:
Command: REVOKE privilege ON databasename. tablename FROM 'username' @ 'host ';
mysql> show grants for cai@localhost;+-----------------------------------------------------------------------------+| Grants for cai@localhost |+-----------------------------------------------------------------------------+| GRANT USAGE ON *.* TO 'cai'@'localhost' || GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON `aa`.* TO 'cai'@'localhost' |+-----------------------------------------------------------------------------+2 rows in set (0.00 sec)mysql> revoke insert on aa.* from 'cai'@'localhost';Query OK, 0 rows affected (0.00 sec)mysql> show grants for cai@localhost;+---------------------------------------------------------------------+| Grants for cai@localhost |+---------------------------------------------------------------------+| GRANT USAGE ON *.* TO 'cai'@'localhost' || GRANT SELECT, UPDATE, DELETE, CREATE ON `aa`.* TO 'cai'@'localhost' |+---------------------------------------------------------------------+2 rows in set (0.00 sec)
Set and modify the User Password: Method 1:
[root@cairui ~]# mysqladmin -ucai -p'123456' password '123'mysqladmin: [Warning] Using a password on the command line interface can be insecure.Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.[root@cairui ~]# mysql -ucai -p123mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 279Server version: 5.7.21-debug Source distributionCopyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Method 2:
mysql> update mysql.user set authentication_string=password('cai') where user='cai' ;Query OK, 1 row affected, 1 warning (0.00 sec)Rows matched: 1 Changed: 1 Warnings: 1mysql> flush privileges;[root@cairui ~]# mysql -ucai -pcai;mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 284Server version: 5.7.21-debug Source distributionCopyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Method 3:
mysql> set password=password('root');Query OK, 0 rows affected, 1 warning (0.00 sec)[root@cairui ~]# mysql -uroot -prootmysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 288Server version: 5.7.21-debug Source distributionCopyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
Logon with password forgotten:
[Root @ cairui mysql] # bin/mysqld_safe -- skip-grant-tables & # You do not need a password to log on. You can change the password.
Delete A User:
mysql> select user,host from mysql.user;+---------------+-----------+| user | host |+---------------+-----------+| cai | localhost || mysql.session | localhost || mysql.sys | localhost || root | localhost || wordpress | localhost |+---------------+-----------+5 rows in set (0.00 sec)mysql> drop user 'cai'@'localhost';Query OK, 0 rows affected (0.00 sec)mysql> select user,host from mysql.user;+---------------+-----------+| user | host |+---------------+-----------+| mysql.session | localhost || mysql.sys | localhost || root | localhost || wordpress | localhost |+---------------+-----------+4 rows in set (0.00 sec)