Linux下安裝使用MySQL

二十七º發表於2020-11-08

一、操作流程

//安裝mysql
sudo apt-get install mysql-server

//確認是否啟動成功,mysql節點處於LISTEN狀態表示啟動成功
sudo netstat -tap | grep mysql

//以root使用者登陸進入mysql介面
sudo mysql -u root -p

//啟動mysql伺服器
service mysql start

//關閉mysql伺服器
service mysql stop

//檢查資料庫執行狀態
sudo systemctl status mysql

第一次進入mysql介面時會提示你輸入密碼,但此時我們還未設定密碼,因此直接回車即可。
在這裡插入圖片描述
這裡還有一個問題需要調整(中文亂碼問題):
在mysql介面,輸入:

show variables like "char%";

在這裡插入圖片描述
導致中文亂碼的原因是character_set_server預設設定是latin1,這裡只需要把編碼方式改一下就可以了:
執行該命令:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在編輯介面插入如下程式碼:
在這裡插入圖片描述
之後退出vim,重啟mysql:

mysql> exit;
sudo service mysql restart

再次執行上面的命令,可以看到:
在這裡插入圖片描述
之後我們需要初始化資料庫
初始化資料庫的操作不再說明,按照它的提示做下去就可以,主要包括:
(1)安裝密碼驗證外掛
(2)設定密碼
(3)是否刪除mysql一開始設定的匿名賬戶,設定是否允許root管理員遠端登陸資料庫
(4)是否刪除預設的測試資料庫並刪除該資料庫的所有訪問許可權
(5)重新整理授權列表,使初始化設定立即生效。

使用的命令是:

sudo mysql_secure_installation

配置資料庫允許遠端訪問:

sudo vim  /etc/mysql/mysql.conf.d/mysqld.cnf

在這裡插入圖片描述
修改bind-address以使其它地方可以連線進來。

輸入如下命令看一下ubuntu主機的ip地址:

ifconfig

之後在navicat中建立連線,連線這個資料庫:

在這裡插入圖片描述
但是這裡報錯了,這是因為mysql預設不允許非本機地址以外的root使用者登陸訪問資料庫,因此還需要修改一下許可權:

//進入linux下的mysql介面
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'passqord' WITH GRANT OPTION;

執行如上命令,其中password部分是你需要自己設定的密碼,之後執行:

flush privileges; 

重新整理許可權後,navicat即可正常連線。

這裡還有可能出現的問題是:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

這是因為你在初始化資料庫時安裝了密碼驗證外掛,並且你這次設定的密碼不滿足你之前設定的密碼強度需求,解決辦法是設定一個滿足需求的密碼,或者修改密碼驗證策略,比如將驗證等級設為0:

mysql> set global validate_password_policy=0;

這裡順帶提一下在navicat中新建資料庫時的注意點:
在這裡插入圖片描述
如上,字符集和排序規則不要選其它的,否則可能出現中文亂碼的情況。

二、報錯處理

(1)

E: 無法獲得鎖 /var/lib/dpkg/lock-frontend - open (11: 資源暫時不可用)
E: 無法獲取 dpkg 前端鎖 (/var/lib/dpkg/lock-frontend),是否有其他程式正佔用它?

這是因為在用apt-get安裝應用時,上一次的安裝未完成便被關閉,導致apt-get程式一直被佔用,這時執行如下命令:

sudo rm /var/lib/dpkg/lock-frontend

若之後還出現如下錯誤:

E: 無法獲得鎖 /var/cache/apt/archives/lock - open (11: 資源暫時不可用)
E: 無法對目錄 /var/cache/apt/archives/ 加鎖

執行如下命令:

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock 

(2)

在執行sudo netstat -tap | grep mysql報錯:

sudo: netstat:找不到命令

解決辦法:

sudo apt-get install net-tools

相關文章