欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL用戶和權(quán)限及破解root口令的方法示例

 更新時間:2019年05月08日 09:29:21   作者:Masuri  
這篇文章主要介紹了詳解MySQL用戶和權(quán)限及破解root口令,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

MySQL用戶和權(quán)限

在MySQL中有一個系統(tǒng)自身就帶有的數(shù)據(jù)庫叫MySQL,數(shù)據(jù)庫裝好以后系統(tǒng)自帶了好幾個數(shù)據(jù)庫MySQL就是其中過一個,MySQL數(shù)據(jù)庫有個用戶賬戶權(quán)限相關(guān)的表叫user表,在其中就有創(chuàng)建的用戶。

MySQL中完整的用戶名是由用戶+主機名形成,主機名決定了這個用戶在哪個主機上能登陸。

一、用戶的創(chuàng)建和密碼修改

1.用戶的創(chuàng)建

create user 'USERNAME'@'HOST' identified by 'PASSWORD';

USERNAME:用戶名
HOST:主機地址
PASSWORD:密碼

示例:

MariaDB [(none)]> create user masuri@192.168.73.133 identified by 'centos';
Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> select user,host,password from mysql.user;
+--------+-----------------------+-------------------------------------------+
| user | host     | password         |
+--------+-----------------------+-------------------------------------------+
| root | localhost    |           |
| root | localhost.localdomain |           |
| root | 127.0.0.1    |           |
| root | ::1     |           |
|  | localhost    |           |
|  | localhost.localdomain |           |
| masuri | 192.168.73.133  | *128977E278358FF80A246B5046F51043A2B1FCED |
+--------+-----------------------+-------------------------------------------+
7 rows in set (0.00 sec)

MySQL中有匿名賬戶,可以通過跑安全加固腳本mysql_secure_installation來進行刪除,也可以手動將其刪除。

刪除用戶:

DROP USER 'USERNAME'@'HOST';

示例:

MariaDB [(none)]> select user,host,password from mysql.user;
+--------+-----------------------+-------------------------------------------+
| user | host     | password         |
+--------+-----------------------+-------------------------------------------+
| root | localhost    |           |
| root | localhost.localdomain |           |
| root | 127.0.0.1    |           |
| root | ::1     |           |
|  | localhost    |           |
|  | localhost.localdomain |           |
| masuri | 192.168.73.133  | *128977E278358FF80A246B5046F51043A2B1FCED |
+--------+-----------------------+-------------------------------------------+
7 rows in set (0.00 sec)

MariaDB [(none)]> DROP USER ''@'localhost';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> DROP USER ''@'localhost.localdomain';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> select user,host,password from mysql.user;
+--------+-----------------------+-------------------------------------------+
| user | host     | password         |
+--------+-----------------------+-------------------------------------------+
| root | localhost    |           |
| root | localhost.localdomain |           |
| root | 127.0.0.1    |           |
| root | ::1     |           |
| masuri | 192.168.73.133  | *128977E278358FF80A246B5046F51043A2B1FCED |
+--------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)

2.密碼的修改

mysql密碼的修改

SET PASSWORD FOR user = PASSWORD('cleartext password')
UPDATE table SET password = password('cleartext password')

示例:

對masuri用戶做密碼的修改

MariaDB [(none)]> SET PASSWORD FOR masuri@192.168.73.133 = PASSWORD ('magedu');
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> select user,host,password from mysql.user;
+--------+-----------------------+-------------------------------------------+
| user | host     | password         |
+--------+-----------------------+-------------------------------------------+
| root | localhost    |           |
| root | localhost.localdomain |           |
| root | 127.0.0.1    |           |
| root | ::1     |           |
| masuri | 192.168.73.133  | *6B8CCC83799A26CD19D7AD9AEEADBCD30D8A8664 |
+--------+-----------------------+-------------------------------------------+
#此時密碼已經(jīng)發(fā)生改變

root賬號口令為空,為root口令設置口令,由于一條一條的設置太過麻煩也可以使用修改表的操作來修改密碼

MariaDB [(none)]> update mysql.user set password=password('centos') where user='root';
Query OK, 4 rows affected (0.01 sec)
Rows matched: 4 Changed: 4 Warnings: 0

MariaDB [(none)]> select user,host,password from mysql.user;
+--------+-----------------------+-------------------------------------------+
| user | host     | password         |
+--------+-----------------------+-------------------------------------------+
| root | localhost    | *128977E278358FF80A246B5046F51043A2B1FCED |
| root | localhost.localdomain | *128977E278358FF80A246B5046F51043A2B1FCED |
| root | 127.0.0.1    | *128977E278358FF80A246B5046F51043A2B1FCED |
| root | ::1     | *128977E278358FF80A246B5046F51043A2B1FCED |
| masuri | 192.168.73.133  | *6B8CCC83799A26CD19D7AD9AEEADBCD30D8A8664 |
+--------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)

此時密碼已經(jīng)修改但依舊無法登陸,需要將權(quán)限刷新

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

二、MySQL權(quán)限管理

權(quán)限管理涉及到多種權(quán)限的類別,比如說有管理類、程序類、數(shù)據(jù)庫級別、表級別和字段級別

管理類:能否創(chuàng)建用戶,能否顯示數(shù)據(jù)庫列表,能否重新加載配置文件,能否關(guān)閉數(shù)據(jù)庫,和復制相關(guān)的能否執(zhí)行,能否管理進程,能否創(chuàng)建臨時表,能否創(chuàng)建數(shù)據(jù)庫中的文件。

程序類主要涉及3個程序,函數(shù),存儲過程和觸發(fā)器,例如能否創(chuàng)建,修改,刪除和執(zhí)行這些程序庫,表和字段級別的權(quán)限:比如能否在庫,表字段里進行增、刪、查、改等操作

1.授權(quán)GRANT

授權(quán)用戶時如果用戶不存在可以將其創(chuàng)建出來,在授權(quán)前首先要確認自己是管理員有授權(quán)的權(quán)限。

GRANT 
 priv_type [(column_list)]
  [, priv_type [(column_list)]] ...
 ON [object_type] priv_level
 TO user_specification [, user_specification] ...
 [REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]
 [WITH with_option ...]

示例:

創(chuàng)建一個wordpress的用戶,并授權(quán)。

MariaDB [(none)]> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.02 sec)

MariaDB [(none)]> GRANT ALL ON wordpress.* TO wpuser@'192.168.73.%' identified by 'mylinuxops';
Query OK, 0 rows affected (0.00 sec)

2.查看用戶的權(quán)限

MariaDB [(none)]> show grants for wpuser@'192.168.73.%';
+------------------------------------------------------------------------------------------------------------------+
| Grants for wpuser@192.168.73.%                     |
+------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'wpuser'@'192.168.73.%' IDENTIFIED BY PASSWORD '*EC0DBFB480593BB6ED2EC028A4231A72D8137406' |
| GRANT ALL PRIVILEGES ON `wordpress`.* TO 'wpuser'@'192.168.73.%'             |
+------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

3.授權(quán)的其他選項

MAX_QUESRIES_PER_HOUR count #每小時最多查多少次
MAX_UPDATES_PER_HOUR count #每小時最多改多少次
MAX_CONNECTIONS_PER_HOUR count #每小時最多連多少次
MAX_USER_CONNECTIONS count #用戶的最大數(shù)連接數(shù)

取消權(quán)限

REVOKE
 priv_type [(column_list)]
  [, priv_type [(column_list)]] ...
 ON [object_type] priv_level
 FROM user [, user] ...

示例:

MariaDB [(none)]> revoke delete on wordpress.* from wpuser@'192.168.73.%';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> show grants for wpuser@'192.168.73.%';
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for wpuser@192.168.73.%                                                   |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'wpuser'@'192.168.73.%' IDENTIFIED BY PASSWORD '*EC0DBFB480593BB6ED2EC028A4231A72D8137406'                              |
| GRANT SELECT, INSERT, UPDATE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `wordpress`.* TO 'wpuser'@'192.168.73.%' |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
# 此時wpuser@'192.168.73.%'已經(jīng)沒有了delete權(quán)限

MySQL的root口令破解

工作中有時候可能會遇到root口令丟失的情況,此時可以通過以下方法進行找回root口令

以下為示范如何破解root口令

一、密碼未知無法登陸MySQL

[root@localhost ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

二、破解

1.修改配置文件/etc/my.cnf,添加兩行參數(shù)

skip_grant_tables:跳過授權(quán)表信息,此項生效后再次使用MySQL就無需使用密碼了,但是遠程的其他用戶也可以不使用密碼登陸,有一定的風險性

skip_networking:關(guān)閉網(wǎng)路功能,由于光啟用skip_grant_tables選項,其他用戶也可以無需密碼登陸MySQL非常危險,所以需要關(guān)閉網(wǎng)路功能只允許本地的用戶進行操作。

[root@localhost ~]# vim /etc/my.cnf
[mysqld]
skip_networking=on   #不啟用網(wǎng)絡功能
skip_grant_tables=on   #跳過授權(quán)表

[root@localhost ~]# service mysqld restart       #對位置文件修改后需要重新啟動服務
Restarting mysqld (via systemctl):       [ OK ]

2.登陸MySQL,進行密碼修改

[root@localhost ~]# mysql           #此時已經(jīng)無需輸入密碼就能登陸
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 10.2.23-MariaDB-log Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> UPDATE mysql.user SET password=PASSWORD('123456') where user='root';  #對root的口令進行修改
Query OK, 4 rows affected (0.01 sec)
Rows matched: 4 Changed: 4 Warnings: 0

3.口令修改完畢后,需要將配置文件恢復

將剛才啟用的兩個選項進行注銷或者刪除,然后重啟服務

[root@localhost ~]# vim /etc/my.cnf
[mysqld]
#skip_networking=on   
#skip_grant_tables=on   

[root@localhost ~]# service mysqld restart
Restarting mysqld (via systemctl):       [ OK ]

4.使用新口令登陸MySQL

[root@localhost ~]# mysql -uroot -p123456 
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.2.23-MariaDB-log Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 搞定mysql行轉(zhuǎn)列的7種方法以及列轉(zhuǎn)行

    搞定mysql行轉(zhuǎn)列的7種方法以及列轉(zhuǎn)行

    在MySQL數(shù)據(jù)庫中,有時候我們需要將一列數(shù)據(jù)轉(zhuǎn)化為行數(shù)據(jù),以便更好地進行數(shù)據(jù)分析和處理,下面這篇文章主要給大家介紹了關(guān)于搞定mysql行轉(zhuǎn)列的7種方法以及列轉(zhuǎn)行的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • MySQL千萬數(shù)據(jù)量深分頁優(yōu)化流程(拒絕線上故障)

    MySQL千萬數(shù)據(jù)量深分頁優(yōu)化流程(拒絕線上故障)

    這篇文章主要為大家介紹了MySQL千萬數(shù)據(jù)量深分頁優(yōu)化拒絕線上故障,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • mysql數(shù)據(jù)類型和字段屬性原理與用法詳解

    mysql數(shù)據(jù)類型和字段屬性原理與用法詳解

    這篇文章主要介紹了mysql數(shù)據(jù)類型和字段屬性,結(jié)合實例形式分析了mysql數(shù)據(jù)類型和字段屬性基本概念、原理、分類、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • 你一定用的上的MySQL批量插入技巧分享

    你一定用的上的MySQL批量插入技巧分享

    MySQL一直是我們互聯(lián)網(wǎng)行業(yè)比較常用的數(shù)據(jù),我們也常常需要使用半ORM框架進行MySQL大批量插入操作,下面小編為大家整理了一些MySQL批量插入技巧,希望對大家有所幫助
    2024-01-01
  • MySQL復制表的三種方式(小結(jié))

    MySQL復制表的三種方式(小結(jié))

    這篇文章主要介紹了MySQL復制表的三種方式(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • MySQL分區(qū)之RANGE分區(qū)詳解

    MySQL分區(qū)之RANGE分區(qū)詳解

    Range分區(qū)是最常用的一種分區(qū)類型,它是根據(jù)某個列的值劃分為幾個連續(xù)的區(qū),行數(shù)據(jù)根據(jù)該列的值分別放入到不同的分區(qū),這篇文章主要給大家介紹了關(guān)于MySQL分區(qū)之RANGE分區(qū)的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • mysql壓力測試腳本實例

    mysql壓力測試腳本實例

    這篇文章主要介紹了mysql壓力測試腳本,實例展示了實現(xiàn)MySQL壓力測試的完整方法,需要的朋友可以參考下
    2014-11-11
  • mysql in語句子查詢效率慢的優(yōu)化技巧示例

    mysql in語句子查詢效率慢的優(yōu)化技巧示例

    本文介紹主要介紹在mysql中使用in語句時,查詢效率非常慢,這里分享下我的解決方法,供朋友們參考。
    2017-10-10
  • mysql閃回工具binlog2sql安裝配置教程詳解

    mysql閃回工具binlog2sql安裝配置教程詳解

    這篇文章主要介紹了mysql閃回工具binlog2sql安裝配置詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • 在EF中使用MySQL的方法及常見問題

    在EF中使用MySQL的方法及常見問題

    這篇文章主要介紹了在EF中使用MySQL的方法及常見問題 的相關(guān)資料,需要的朋友可以參考下
    2016-06-06

最新評論