mysql刪除無用用戶的方法實現(xiàn)
1、刪除不用的賬戶
(1) 查看當(dāng)前已存在賬戶
mysql> select user,host,password from mysql.user; 或下面的命令
#mysql> sELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
+---------------------------------------+
| query |
+---------------------------------------+
| User: 'root'@'127.0.0.1'; | #不要刪
| User: 'wenqiang'@'172.16.1.%'; |
| User: 'root'@'localhost'; | #不要刪
| User: 'root'@'localhost.localdomain'; |
+---------------------------------------+
4 rows in set (0.00 sec)
mysql> drop user wenqiang@'172.16.1.%'; #刪除不需要的用戶
(2) 授權(quán)用戶時盡量不要使用%(該符號表示用戶可以從任何地方都可以登陸)
授權(quán)格式:grant 權(quán)限 on 數(shù)據(jù)庫.* to 用戶名@用戶所在網(wǎng)段 identified by "密碼";
#只允許root用戶從10.0.0.10登陸mysql并授予全庫訪問權(quán)限,同時為root用戶設(shè)置密碼123456
mysql> grant all on *.* to root@'10.0.0.10' identified by '123456';
#這種情況是只授權(quán),root用戶可以使用空密碼從本地登錄
mysql> grant all on *.* to root@'localhost';
#這種情況是root用戶可以從本地登錄,同時設(shè)置密碼abc123(root用戶可以設(shè)置多套登錄密碼)
mysql> grant all on *.* to root@'localhost' identified by 'abc123';
3、如果不小心把’root’@‘localhost’; 的授權(quán)刪掉,應(yīng)該這樣解決
(1)這樣登陸上去,并增加一條localhost的權(quán)限 [root@localhost ~]# mysql -uroot -p -h 127.0.0.1 #通過127.0.0.1登錄上去 mysql> grant all on *.* to root@'localhost' identified by 'abc123'; #在增加一條localhost的授權(quán) mysql> flush privileges; 新增加的root用戶可能沒有最高權(quán)限,見第3.1
3.1、當(dāng)root用戶無法給普通用戶授權(quán)的時候
(1)登錄mysql
[root@localhost ~]# mysql -uroot -p -h localhost
mysql> grant all on *.* to root@'localhost' identified by '123456';
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) #報錯
(2)查看當(dāng)前有哪些用戶
mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
+---------------------------------------+
| query |
+---------------------------------------+
| User: 'root'@'127.0.0.1'; | #使用 mysql -uroot -p -h127.0.0.1登錄mysql授權(quán)沒問題
| User: 'wenqiang'@'172.16.1.%'; |
| User: 'root'@'localhost'; | #我發(fā)現(xiàn)從localhost登錄的root用戶無法給普通用戶授權(quán)
| User: 'root'@'localhost.localdomain'; |
+---------------------------------------+
4 rows in set (0.00 sec)
(3)查看該root用戶的Grant_priv選項是Y還是N(N表示無權(quán)給普通用戶授權(quán))
mysql> select * from mysql.user where User='root' and Host='localhost'\G;
*************************** 1. row ***************************
Host: localhost
User: root
Password: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: N #無授權(quán)權(quán)限
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: mysql_native_password
authentication_string:
password_expired: N
1 row in set (0.00 sec)
ERROR:
No query specified
(3)把Grant_priv選項的N改為Y就可以了
mysql> update mysql.user set Grant_priv='Y' where User='root' and Host='localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
(4)退出重新登錄mysql,再次給普通用戶授權(quán)(一定要先退出mysql)
mysql> grant all on *.* to root@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)到此這篇關(guān)于mysql刪除無用用戶的方法實現(xiàn)的文章就介紹到這了,更多相關(guān)mysql刪除無用用戶內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL通過show processlist命令檢視性能的講解
今天小編就為大家分享一篇關(guān)于MySQL通過show processlist命令檢視性能的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
MySQL數(shù)據(jù)變化監(jiān)聽的實現(xiàn)方案
在高并發(fā)和大數(shù)據(jù)環(huán)境下,實時獲取MySQL數(shù)據(jù)庫的增量變化對數(shù)據(jù)同步、數(shù)據(jù)分析、緩存更新等場景至關(guān)重要,MySQL的binlog(Binary Log) 記錄了數(shù)據(jù)庫的所有變更,可以用來實現(xiàn) 增量數(shù)據(jù)監(jiān)聽,本文將介紹如何利用binlog監(jiān)聽MySQL數(shù)據(jù)增量,并提供基 Java的Canal實現(xiàn)示例2025-02-02
登錄MySQL時出現(xiàn)SSL connection error: unknown
這篇文章主要介紹了登錄MySQL時出現(xiàn)SSL connection error: unknown error number錯誤的解決方法,文中通過圖文結(jié)合的形式講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-12-12
MySQL中dd::columns表結(jié)構(gòu)轉(zhuǎn)table過程及應(yīng)用詳解
MySQL的dd表是用來存放表結(jié)構(gòu)和各種建表信息的,客戶端建的表都存在mysql.table和mysql.columns表里,還有一個表mysql.column_type_elements比較特殊,用來存放SET和ENUM類型的字段集合值信息,對mysql dd::columns表結(jié)構(gòu)相關(guān)知識感興趣的朋友一起看看吧2022-09-09

