久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何解決mysql中user表沒有的問題

174次閱讀
沒有評論

共計 4637 個字符,預(yù)計需要花費(fèi) 12 分鐘才能閱讀完成。

這篇文章將為大家詳細(xì)講解有關(guān)如何解決 mysql 中 user 表沒有的問題,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

mysql user 表沒有了的解決辦法:1、在“[mysqld]”中添加“skip-grant-tables”;2、編輯 my.cnf 配置文件,添加“sql_mode=NO_ENGINE_SUBSTITUTION”;3、重啟 mysql 服務(wù)。

本文操作環(huán)境:Windows7 系統(tǒng),mysql5.5 版,Dell G3 電腦。

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 服務(wù),用空密碼直接登錄,查詢用戶表,有結(jié)果則按如下步驟修改,結(jié)果為空直接最后的解決辦法

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)

修改對應(yīng)用戶的密碼

#  重置密碼為  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
#  刷新權(quán)限,使配置生效
mysql  FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
#  退出
mysql  quit
Bye

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

二、用戶表沒有數(shù)據(jù),則需要插入用戶數(shù)據(jù)

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 服務(wù),啟動數(shù)據(jù)庫的安全模式:mysqld_safe

使用 root 空密碼連接數(shù)據(jù)庫:mysql -uroot -p

插入 root 用戶數(shù)據(jù)

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

需要修復(fù) 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 用戶的權(quán)限:

 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 
#  更新權(quán)限
mysql  flush privileges;
Query OK, 0 rows affected (0.00 sec)
#  退出登陸
mysql  exit
Bye

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

結(jié)束 mysqld_safe 進(jìn)程:pkill mysql

啟動 mysql 服務(wù): systemctl start mysql
問題解決!

關(guān)于“如何解決 mysql 中 user 表沒有的問題”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-15發(fā)表,共計4637字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 陆良县| 新巴尔虎左旗| 治县。| 中卫市| 夏津县| 白山市| 开封市| 晋江市| 故城县| 灵寿县| 通海县| 防城港市| 滕州市| 壶关县| 乐山市| 宜春市| 思南县| 耒阳市| 石林| 岳阳县| 昌宁县| 保定市| 平度市| 思茅市| 石河子市| 铅山县| 安宁市| 金塔县| 和顺县| 文安县| 新绛县| 新宾| 策勒县| 乌兰浩特市| 隆安县| 宁化县| 义乌市| 安平县| 金阳县| 即墨市| 台湾省|