1. 程式人生 > >VMware CentOS7 安裝 Mysql 及一些常見問題

VMware CentOS7 安裝 Mysql 及一些常見問題

注:本文件安裝 Mysql 需要用到 Internet,如果您沒有配置 Internet,請先參考下面文章進行配置

一、版本資訊

1. CentOS7

# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (AltArch) 

2. Mysql

# mysql -V
mysql  Ver 14.14 Distrib 5.7.17, for Linux (i686) using  EditLine wrapper

二、Mysql 安裝

1. 檢查是否已安裝 Mysql

# rpm -qa | grep mysql

2. 如果已經安裝,請使用下面命令解除安裝

# rpm -e 包名  // 普通刪除模式
# rpm -e --nodeps 包名   // 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它檔案,則用該命令可以對其進行強力刪除

3. 安裝及啟動

3.1 下載

# yum -y install wget    // 安裝 wget,如果已安裝可以忽略
# wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm      // 使用 wget 命令下載
# rpm -ivh mysql57-community-release-el7-9.noarch.rpm   // 使用 rpm 安裝:-i為安裝 -v顯示資訊 -h顯示進度條
# yum install mysql-server   // 使用 yum 安裝

3.2 初始化 Mysql

# mysqld --initialize

3.3 啟動 Mysql

# systemctl start mysqld

啟動失敗,異常資訊如下:

Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

檢視 mysqld.log 日誌,錯誤資訊如下:

2018-07-08T01:57:58.314564Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
2018-07-08T01:57:58.314596Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
2018-07-08T01:57:58.314616Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2018-07-08T01:57:58.933879Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2018-07-08T01:57:58.933951Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2018-07-08T01:57:58.933967Z 0 [ERROR] Failed to initialize plugins.
2018-07-08T01:57:58.933977Z 0 [ERROR] Aborting

在網上查了一下解決方案,說是刪除 Mysql 安裝目錄下的 ib_logfile0和ib_logfile1 兩個檔案,可是在我的機器上依然沒有解決。
繼續查詢解決方案,功夫不負有心人,終於被我找到了,解決方案是“安裝完應該先檢查一下/var/lib/mysql目錄下的檔案許可權,執行下面命令”(參考文件https://www.jb51.net/article/116032.htm

# chown mysql:mysql -R /var/lib/mysql 

然後重新啟動Mysql伺服器

# systemctl status mysqld

兩個晚上的成果,發圖 happy 一下:

 

三、使用 MySQL Client(Mysql客戶端) 執行簡單的SQL命令

1. 查詢預設密碼

預設情況下 Mysql 伺服器會生成預設密碼,密碼存放位置在/var/log/mysqld.log
使用下面命令檢視

# grep 'temporary password' /var/log/mysqld.log

2. 登陸修改密碼

使用預設密碼登陸

# mysql -uroot -p

登陸完必須修改密碼,不然會報下面錯誤:

3. 修改密碼

mysql> alter user 'root'@'localhost' identified by '123456';

4. 執行簡單 sql 命令:

 

5. 退出 mysql 命令:

mysql> exit;
mysql> quit;
mysql> \q;