linux 安裝mysql-8.0.20 (實戰記錄)


安裝前先確認一下你的機器上是否已經安裝過mysql,有的清理干凈,沒有則直接進入安裝步驟,下面將會記錄一下自己的整個安裝過程以及遇到的問題和解決方法。

我的系統是:CentOS Linux release 7.5.1804 (Core)     內核:3.10.0-862.11.6.el7.x86_64

安裝前的系統確認:

1、檢查是否已經安裝過mysql :    rpm -qa | grep mysql

如果環境中有遺留mysql則執行刪除命令:rpm -e --nodeps mysql-xxxxxxxxx

2、查詢遺留的mysql設置或命令,執行兩條命令:

whereis mysql

find / -name mysql

如通過上述兩條命令發現有遺留,則執行清除命令,將所有查到的mysql都刪除感覺 :rm -rf  xxx xxx   

 

下面開始正式的安裝了,不要眨眼錯過每一步哦!

1、檢查mysql用戶組和用戶是否存在,如果沒有,則創建,有的話可以不用添加,如果已經忘記密碼等則保險期間還是刪除重新創建吧

查看是否存在mysql用戶的命令:

cat /etc/group | grep mysql
cat /etc/passwd |grep mysql

增加 mysql 用戶的命令:

groupadd mysql
useradd -r -g mysql mysql

2、從官網下載是用於Linux的Mysql安裝包

官網下載8.20版本mysql的地址:https://downloads.mysql.com/archives/community/

兩種方法下載:

第一:如果你的linux 系統有外網,則直接通過命令下載到linux系統上:wget   https://dev.mysql.com/get/Downloads/MySQL-8.0.20/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

第二:通過瀏覽器打開網頁,按照圖片的執行,點擊"DownLoad"

 

 

 

3、開始解壓、安裝

tar -xvf  mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

mv  mysql-8.0.20-linux-glibc2.12-x86_64   /usr/local/mysql

4、更改mysql目錄下所有的目錄及文件夾所屬的用戶組和用戶,以及權限

mysql文件夾要配置為755的權限,如果不是則執行命令:
chmod -R 755 /usr/local/mysql

5、找一個目錄來存儲mysql的數據,如果你的數據量大,記得要找個大點的盤和目錄,我的是在/data目錄下

mkdir -p  /data/mysql

此時一般網友的操作步驟是給這個目錄設置了mysql權限:chown mysql:mysql -R /data/mysql

我在執行和調試過程中,遇到了mysql.sock無法找到和其他無法寫的權限等問題,所以為給這個目錄權限設置為:chmod 777 /data/mysql    

這應該和我的調試有關系,也不必都設置為777權限,,當你遇到無法解決的讀寫文件問題時可以這么設置

4、設置配置文件,編譯/etc/my.cnf  , 內容如下

[mysqld]
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
bind-address=127.0.0.1
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
#socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
##character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
log-error=/data/mysql/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid
pid-file=/data/mysql/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

 

注意、注意、注意,很重要,補充知識:

不要將配置文件中的socket=/tmp/mysql.sock 改為你自定義目錄文件的路徑,如:#socket=/data/mysql/mysql.sock,非常容易出現一下圖片中的錯誤,處理起來可能費時間和精力,我也像網上說的使用自己的目錄且給/tmp/mysql.sock 建立了軟連接也不管用,所以還是建議按照我的配置去配置,不要改socket的目錄了。

 

 當然出現上述錯誤后,你又想快速的訪問mysql數據庫(數據庫已經初始化好后的步驟),也可以執行如下命令先使用着

執行連接命令:./mysql -uroot -h 127.0.0.1 -p 

 

5、初始化mysql,一定要記住初始化輸出日志末尾的密碼(數據庫管理員臨時密碼)

./mysqld --initialize --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql

如果屏幕上沒有打印則去日志文件中查看初始化完成后的臨時密碼:

cat /data/mysql/mysql.err

 

 

 6、測試啟動mysql服務器

先將mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

service mysql start
ps -ef | grep mysql

 

 

 

7、修改初始密碼

首先登錄mysql,密碼是上述初始化時,日志最后一行生成的那個臨時密碼
./mysql -u root -p #bin目錄下
./mysql -uroot -h 127.0.0.1 -p

 

 

8、修改初始化的密碼,設置自己的密碼

注意:對於8.0.20版本的mysql,使用以前的修改密碼的命令不可用,無法使用set password命令,會出現以下錯誤:

 

 

怎么辦呢,經過驗證,需要使用alert命令去修改,執行命令:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxxxxx';
FLUSH PRIVILEGES;

 

 

9、開放遠程連接(開通后你的mysql就可以讓其他遠端客戶端訪問了),執行命令:

use mysql;

update user set user.Host='%' where user.User='root';

flush privileges;

 

 

到此,你的mysql已經安裝成功,開心的使用去吧。

 

另:如有環境依賴上的問題,比如執行初始化命令時遇到系統提示無相關庫時,可以參考以下網友的解決方法,我沒有遇到此類問題所以就不多着敘述:

https://www.jianshu.com/p/276d59cbc529

 

補充:

mysql 5.7.31版本下載路徑:

https://dev.mysql.com/downloads/mysql/5.7.html#downloads    

下載后安裝步驟同上,注意 改密碼那個步驟略微有不同。

1、linux上執行下載命令:wget  https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

2、網頁上的下載如下所示:

彈出以下頁面:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM