日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

sqlsourcesafe mysql_mysql权限问题,看不到其它的库!

發布時間:2025/3/21 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sqlsourcesafe mysql_mysql权限问题,看不到其它的库! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天在安裝mysql數據庫后,想開啟遠程連接,發現查詢不到了mysql數據庫自帶的mysql數據庫,是由于用戶的權限問題導。

[root@localhost ~]# mysql -uroot -p123

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 7

Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>show databases;

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

| Database |

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

| information_schema |

| test |

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

只顯示這個兩個數據庫,看不到mysql數據庫

解決方法:

此問題實際上是用戶沒有權限:

1.關閉mysql,service mysqld stop

2.啟動mysql:mysqld_safe --skip-grant-tables

3.再打開一個ssh連接服務器,進行mysql操作

[root@localhost ~]#mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 7

Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>show databases;

在這個模式下是可以看到mysql數據庫的。

在數據庫名mysql下的user表中,修改相應權限,比如:

INSERT INTO `user` VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0);

如果已經存在了host為localhost的記錄,則先刪除該記錄,delete from user where host='localhost';

然后再進行INSERT INTO `user` VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0);

操作。

操作完成后,將兩個ssh連接都關閉,然后再重新連接一個ssh,啟動mysql,service mysqld start,然后用mysql命令連接mysql數據庫

[root@localhost ~]#mysql -uroot -p

密碼為空。

[如果此時還連接不上,再重啟一下mysql就好了,service mysqld restart]。

然后就可以用[root@localhost ~]#mysqladmin -uroot password 'newpassword'來設置密碼了。

第二種情況

1.首先停止mysql服務:servicemysqld stop

2.加參數啟動mysql:/usr/bin/mysqld_safe--skip-grant-tables &

然后就可以無任何限制的訪問mysql了

3.root用戶登陸系統:mysql -u root-p mysql

4.切換數據庫:use mysql

5.顯示所有的表:show tables;

這里就可以訪問表了

6.查看user表中root用戶的localhost權限:select *from user where user='root' and host='localhost'

7.在顯示的列表中顯示:root用戶的localhost的權限都是'N',表示root用戶本地登陸不具有權限

8.修改root用戶的localhost權限:

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

where user='root' and host='localhost'//這里需注意是否有這個條件的用戶

9.更新一下:flushprivileges;

10.然后重新啟動下mysql,可以解決問題了

因為mysql數據庫的user表里,存在用戶名為空的賬戶即匿名賬戶,導致登錄的時候是雖然用的是root,但實際是匿名登錄的,通過錯誤提示里的''@'localhost'可以看出來

1.關閉mysql# service mysql stop

2.屏蔽權限# mysqld_safe --skip-grant-table屏幕出現: Starting demo from .....

3.新開起一個終端輸入# mysql -u root mysqlmysql> delete from user where USER=''mysql> FLUSH PRIVILEGES;

//記得要這句話,否則如果關閉先前的終端,又會出現原來的錯誤

第一步:關閉mysql服務

第二步:終端輸入mysql_safe --skip-grant-tables

第三步:重啟mysql服務

原因:關機時。先關閉軟件 再關閉服務器。

總結

以上是生活随笔為你收集整理的sqlsourcesafe mysql_mysql权限问题,看不到其它的库!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。