在Debian 9系統上安裝Mysql數據庫的方法教程

前言

看到題目大家應都會想,在 Debian 9 上安裝 Mysql?那不是很簡單的事兒嗎?直接 sudo apt install mysql-server 不就行了嗎?

沒想到遇到了幾個之前沒遇到的問題,耽誤了不少時間。

原來在 Debian 9 中,Mysql 已經被替換成了 MariaDB,所以和傳統的安裝 Mysql 有一些不一樣的地方。

安裝方法

首先我們還是可以用 sudo apt install mysql-server 這樣安裝上的,但是安裝上的還是 MariaDB,所以最好還是採用 sudo apt install mariadb-server 這樣吧。

安裝上之後,發現和傳統的不一樣,因爲沒有彈出設置密碼的那個藍色的界面,誤以爲直接可以空密碼登錄。直接嘗試 mysql -uroot -p,發現 ERROR 1698 (28000): Access denied for user 'root'@'localhost'。難道默認密碼不是空?查看 /etc/mysql/debian.cnf 中默認密碼確實是空。

第一反應是執行 mysqld_safe skip-grant-tables,然後 use mysql; ,然後 update user set password=PASSWORD('mysql') where User='root'; 。這樣確實可以解決問題,但是重啓之後莫名發現又登錄不了了。

懵逼一段時間後發現 MaraiDB 的默認密碼確實是空,但是隻能用 Root 用戶登錄

注意:這裏的用戶說的是 linux 系統的 Root 用戶,也就是說,你 sudo su 進入 Root 終端後,是可以正常登錄的,但是普通用戶卻無法登錄。(爲了區別一下,我把 Root 終端的首字母大寫,而 mysql 的 root 用戶首字母小寫)

大概明白了,所以我們不能圖方便一直使用 root 用戶了,正確的姿勢應該是這樣的:

首先是 sudo apt install mariadb-server 安裝上數據庫。

然後 sudo su 切換至 Root 終端,通過 mariadb -uroot -p 登錄到數據庫,如果默認密碼不是空的話,可以查看 '/etc/mysql/debian.cnf'。

這時候要做的是創建新用戶:create user 'admin'@'localhost' identified by 'mysql'

然後給新用戶設置權限:grant all on *.* to 'admin'@'localhost'

好了,我們又設置了一個方便的 "Root" 用戶,只不過改了名字叫做 admin。

PS:我發現在 Root 終端中,不管密碼輸入什麼都能正常連接數據庫...暈。

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