mysql user表 空_mysql 忘記密碼,重置密碼,mysql.user表為空的解決辦法

一、用戶表有用戶,直接修改密碼

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

修改mysql配置文件my.cnf:

vim /etc/my.cnf

在[mysqld]中添加

skip-grant-tables

重啟mysql服務,用空密碼直接登錄,查詢用戶表,有結果則按如下步驟修改,結果為空直接最后的解決辦法

mysql> select Host,User,authentication_string from mysql.user;

+-----------+---------------+-------------------------------------------+

| Host | User | authentication_string |

+-----------+---------------+-------------------------------------------+

| localhost | root | *6A7A490FB9DC8C33C2B025A91737077A7E9CC5E5 |

| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

| % | root | *6A7A490FB9DC8C33C2B025A91737077A7E9CC5E5 |

+-----------+---------------+-------------------------------------------+

4 rows in set (0.00 sec)

修改對應用戶的密碼

# 重置密碼為 123456

mysql> update mysql.user set authentication_string=password('123456') where user='root'

Query OK, 2 rows affected, 1 warning (0.00 sec)

Rows matched: 2 Changed: 2 Warnings: 1

# 刷新權限,使配置生效

mysql> FLUSH PRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

# 退出

mysql> quit

Bye

取消或注釋掉my.cnf配置文件添加的選項 skip-grant-tables ,重啟mysql服務,搞定收工。

二、用戶表沒有數據,則需要插入用戶數據

mysql> select Host,User,authentication_string from mysql.user;

Empty set (0.00 sec)

# 退出登陸

mysql> exit

Bye

編輯my.cnf配置文件,添加或修改下面兩項(我這沒有sql_mode項):

sql_mode=NO_ENGINE_SUBSTITUTION

skip-grant-tables

停止mysql服務,啟動數據庫的安全模式:mysqld_safe &

使用root 空密碼連接數據庫: mysql -uroot -p

插入root用戶數據

mysql> insert into mysql.user(Host,User,authentication_string) values("%","root",password("123456"));

Query OK, 1 row affected, 4 warnings (0.00 sec)

再次查詢mysql.user表,會報錯

mysql> select Host,User,authentication_string from mysql.user;

ERROR 1194 (HY000): Table 'user' is marked as crashed and should be repaired

需要修復mysql.user表

mysql> REPAIR TABLE mysql.user;

+------------+--------+----------+-------------------------------------------------+

| Table | Op | Msg_type | Msg_text |

+------------+--------+----------+-------------------------------------------------+

| mysql.user | repair | info | Wrong bytesec: 113-108- 95 at 396; Skipped |

| mysql.user | repair | info | Found block that points outside data file at 32 |

| mysql.user | repair | info | Found block that points outside data file at 36 |

| mysql.user | repair | info | Found block that points outside data file at 40 |

| mysql.user | repair | info | Found block that points outside data file at 44 |

| mysql.user | repair | info | Found block that points outside data file at 48 |

| mysql.user | repair | info | Found block that points outside data file at 52 |

| mysql.user | repair | info | Found block that points outside data file at 56 |

| mysql.user | repair | info | Found block that points outside data file at 60 |

| mysql.user | repair | warning | Number of rows changed from 4 to 3 |

| mysql.user | repair | status | OK |

+------------+--------+----------+-------------------------------------------------+

11 rows in set (0.64 sec)

# 再次查詢user表

mysql> select Host,User,authentication_string from mysql.user;

+-----------+---------------+-------------------------------------------+

| Host | User | authentication_string |

+-----------+---------------+-------------------------------------------+

| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

| % | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

+-----------+---------------+-------------------------------------------+

3 rows in set (0.00 sec)

修改root用戶的權限:

update mysql.user set

`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` = 'Y',

`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'

where user='root';

# 更新權限

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

# 退出登陸

mysql> exit

Bye

退出mysql,將my.cnf配置文件的修改恢復

結束mysqld_safe 進程:pkill mysql

啟動mysql服務: systemctl start mysql

問題解決!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281981.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281981.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281981.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

鏈式封裝與調用

var CheckObject function(){}; CheckObject.prototype function(){checkName:function(){// codereturn this;},checkEmail:function(){// code return this;},checkPassword:function(){// codereturn this;} } //使用 var Check new CheckObject() Check.checkName().che…

全新升級的AOP框架Dora.Interception[3]: 基于特性標注的攔截器注冊方式

在Dora.Interception中按照約定方式定義的攔截器可以采用多種方式注冊到目標方法上。本篇文章介紹最常用的基于“特性標注”的攔截器注冊方式,下一篇會介紹另一種基于(Lambda)表達式的注冊方式:全新升級的AOP框架Dora.Interceptio…

在慘遭勒索病毒攻擊之后,微軟呼吁重新制定“數字日內瓦公約”

基于美國安全局泄露文檔開發的病毒程序成為上周的主要新聞,該病毒導致全世界大量的Windows電腦癱瘓。WannaCry勒索病毒在150個國家有20萬個受害者,包括英國的醫院、西班牙的基礎設施部門和俄羅斯的內政部。Renault在受到攻擊之后關閉了幾家在法國境內的工…

【代碼審計】PHP代碼審計---基礎記錄

PHP偽協議 PHP偽協議事實上是其支持的協議與封裝協議,支持的種類有以下12種。 * file:// — 訪問本地文件系統 * http:// — 訪問 HTTP(s) 網址 * ftp:// — 訪問 FTP(s) URLs * php:// — 訪問各個輸入/輸出流(I/O streams) * zlib:// — 壓…

全新升級的AOP框架Dora.Interception[4]: 基于表達式的攔截器注冊

基于特性標注的攔截器注冊方式僅限于將攔截器應用到自己定義的類型上,對于第三方提供的類型就無能為力了。對于Dora.Interception來說,攔截器注冊本質上建立攔截器與一個或者多個目標方法之間的映射,所以最笨的方式就是利用反射的方式得到表示…

mysql8.0.12插件_MySQL8.0.12 安裝及配置

MySQL8.0.12 安裝及配置發布時間:2018-08-07 10:39,瀏覽次數:274, 標簽:MySQL一.安裝1.從網上下載MySQL8.0.12版本,下載地址:https://dev.mysql.com/downloads/mysql/2. 下載完成后解壓我解壓的路徑是:D:\J…

python模塊之hashlib

hashlib模塊實現了多種安全哈希和信息摘要算法的通用接口,包括FIPS中定義的SHA1, SHA224, SHA256, SHA384, SHA512以及RFC 1321中定義的MD5 注意點:1. adler32及crc32哈希由zlib模塊提供2. 某些算法已知存在哈希碰撞弱點 哈希算法 每個hash算法都有一個同…

記一次阿里電面經歷

昨天下午(3/19)三點多鐘,接到了一個杭州的電話,是阿里的。問我是否方便聊聊。我說我在上課,四點下課。然后他就四點多鐘的時候又打了一次過來。項目經歷上來就問我有無大型項目的經歷。不好意思,我說無。。…

C語言程序設計第三次作業

(一)改錯題 計算f(x)的值:輸入實數x,計算并輸出下列分段函數f(x)的值,輸出時保留1位小數。 輸入輸出樣例1:   Enterr x: 10.0   f(10.0) 0.1 輸入輸出樣例2:   Enter x: 234   f(234.0…

mysql數據庫項目化教程鄭小蓉_MySQL數據庫項目化教程(高等職業教育“十三五”規劃教材(軟件技術專業))...

《MySQL數據庫項目化教程/高等職業教育十三五規劃教材(軟件技術專業)》是一本介紹MySQL數據庫基礎知識的入門教材,采用項目驅動方式循序漸進地介紹MySQL各個模塊的知識。主要內容包括:Windows下MySQL的安裝,MySQL服務的啟動與停止&#xff0c…

WPF-09 ManualResetEventSlim信號量

業務場景如下:WPF應用程序后臺有個定時任務在接收PLC硬件數據(該線程接收完數據之后, 會重新啟動一個新線程繼續接收.....),當應用程序關閉時, 我們得確保接收PLC硬件數據的線程完成之后,再關閉應用程序,否則會造成數據丟失。上面的業務場景是…

【bzoj3033】太鼓達人 DFS歐拉圖

題目描述 給出一個整數K,求一個最大的M,使得存在一個每個位置都是0或1的圈,圈上所有連續K位構成的二進制數兩兩不同。輸出最大的M以及這種情況下字典序最小的方案。 輸入 一個整數K。 輸出 一個整數M和一個二進制串,由一個空格分隔…

Redis 集合處理

學習了列表之后,發現了Redis處理字符串的功能強大。 為了適應不同場景的需求,還有一個用的很多的就是集合。 Redis提供的集合支持的類型是字符串。并且集合中的元素值是唯一的,也就是說不能出現重復數據。 而且,集合的實現是通過哈…

fpga mysql_FPGA的一些瑣碎知識整理

1.生產FPGA的廠家有:ALTERAXILINXATCELLatticeps:Altera和Xilinx主要生產一般用途FPGA,其主要產品采用SRAM工藝Actel主要提供非易失性FPGA,產品主要基于反熔絲工藝和FLASH工藝ps: 熔絲,顧名思義:把絲熔掉,反…

使用增量備份修復DG中的GAP

問題描述 oracle中DG出現主備不同步現象,alert日志報警有gap信息,但是v$archive_gap視圖查不到任何信息。同時主庫上的對應歸檔已經刪除且沒有備份 解決方案 1.查詢備庫的scn SQL> select current_scn from v$database; 這時有可能出來的scn是以科學計…

C# 反射類Assembly用法舉例

概述程序運行時,通過反射可以得到其它程序集或者自己程序集代碼的各種信息,包括類、函數、變量等來實例化它們,執行它們,操作它們,實際上就是獲取程序在內存中的映像,然后基于這個映像進行各種操作。Assemb…

團隊作業

團隊&組員: 沒有組名,大概是因為我們組雖然有10個人,但是好像只起到人多的地方就容易開車搞笑,沒有內涵,取出來的都是秋名山吳彥組這樣的開車組名,在大家的的強烈建議和玩笑中,決定了沒有組…

算法系列【希爾排序】篇

常見的內部排序算法有:插入排序、希爾排序、選擇排序、冒泡排序、歸并排序、快速排序、堆排序、基數排序等。用一張圖概括:關于時間復雜度:1. 平方階 (O(n2)) 排序各類簡單排序:直接插入、直接選擇和冒泡排序。2. 線性對數…

sql查詢索引語句_sql優化總結--基于sql語句優化和索引優化

概述最近做查詢,統計和匯總。由于數據量比較龐大,大部分表數據上百萬,甚至有的表數據上千萬。所以在系統中做sql優化比較多,特此寫一篇文章總結一下關于sql優化方面的經驗。導致查詢緩慢的原因1、數據量過大2、表設計不合理3、sql…

電商行業運維實踐

電商行業運維實踐--------------------…