mysql的數據庫沒了,同時出現一個WARNING表。To recover your lost Database and avoid leaking it: Send us 0.06 Bitcoin

mysql的數據庫沒了,同時出現一個WARNING表。
在這裏插入圖片描述將內容複製下來,翻譯就很明瞭了…
在這裏插入圖片描述在第一次弄這種時。可能很多人都不瞭解。我也是踩了一個坑。在對這個數據庫的用戶設置時。首先是你的設置用戶名密碼包括端口都是默認,還有就是權限問題。我們在剛使用時,沒這個觀念,也圖方便。就使用的默認的用戶名和端口,甚至密碼都很簡單。就很容易被暴力破解了。

這種黑了庫然後勒索的事情也不少見…
數據這東西由於我只是個小項目的開發中,並沒有什麼數據。所以還好。但是感覺到了不安全。那麼該怎麼防範呢?

1.修改訪問權限

1.首先登錄putty後。進入數據庫

$ mysql -u root -p

2.輸入密碼,進入數據庫後。輸入進入mysql這個特殊的數據庫。

$ use mysql

3.我們進入mysql這個數據庫,裏面有個特殊的表叫user。我們可以看看裏面的用戶。

select user,host from user;

顯示出來的表,如果看到你的user下你的默認用戶root,看到他的host是%的話。那這就是一個問題所在。
host代表允許訪問的主機地址,而%爲全部允許。

4.我們將它修改。而除了這個之外的用戶,其實都可以刪除掉。

update user set host='localhost' where user = 'root';
delete from user where user != 'root';

5.除了這個表,我們還需要去db表進行刪除

delete from db where user != 'root';

6.然後刷新緩存,讓配置生效

flush privileges;

密碼賬號已經泄露了。記得修改密碼。推薦數字英文字符等結合。我爲了安全,將默認用戶名也修改了。當然,修改了以上後。


還有個問題。我的網站,在修改後訪問不了數據庫。因爲上面改成了只有localhost可以訪問了。
所以我添加了一個新的用戶,不過權限有限,只給了操作的項目的數據庫的權限。而沒給mysql數據庫的權限。這個用戶的host給了網站ip。然後網站就可以正常訪問了。

另外,navicat也連不上。報錯
1130 Host ‘xxxx.xx.xx.xx’ is not allowed to connect Mysql server.
所以加了第三個用戶,將host給了本機ip。

經過以上修改。
原最高權限的root被我設置成只有host爲localhost允許訪問。這樣雲服務器就可以訪問到數據庫了。
而第二個用戶的host設置成了網站的ip,所以網站可以訪問我們的數據庫。
第三個就是我自己的電腦了。

2.修改端口號

1.同樣在putty上先登錄數據庫

$ mysql -u root -p

2.我們可以查看下當前的端口號。默認3306

show global variables like 'port';

3.修改端口號

vi /etc/my.cnf

按i進入編輯模式。找到port=3306修改。
編輯完按esc進入命令模式 ,然後輸入 :wq退出。

4.然後重啓數據庫

service mysql restart

5.我們可以再看看端口

show global variables like 'port';

然後可以看到修改成功。

另外,修改端口後,在網站的數據庫連接的配置文件也要修改。

最後感謝給了我幫助。也給同樣中招的朋友們一個辦法。
https://blog.csdn.net/qq_42584411/article/details/90548619
https://blog.csdn.net/guoqiaosen/article/details/84918088

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章