一 .下載mysql安裝包:
打開官方下載地址:https://dev.mysql.com/downloads/mysql/5.7.html,
二,解壓並放到根目錄安裝:
在linux根目錄下創建文件夾,將文件上傳到該文件夾下,此文件夾為臨時文件夾,后面會將解壓的文件目錄放入/usr/local目錄下
1. 創建一個目錄: mkdir mysql
2.解壓: tar-zxvf mysql-5.7.30-linux-glibce.12-x86.tar.gz
解壓后:
3. 將文件夾移動到/usr/local目錄下並重命名為mysql
mv mysql-5.7.30-linux-glibc2.12-x86_64 /usr/local/mysql
三 .安裝准備
3.1 創建mysql組及mysql用戶,並授權
創建mysql組:
創建mysql用戶:
3.2 創建數據存放目錄並授權(注意,這里是在根目錄下創建/data/mysql目錄,不要搞錯了,我是因為沒在根目錄下創建,所有后面初始化時失敗了多次,慘痛的教訓,希望后來人不要重蹈覆轍)
回到根目錄下創建數據存放目錄/data/mysql:
查看目錄是否創建成功:
3.3 配置my.cnf文件
根目錄下執行:vim /etc/my.cnf
打開后將下面配置代碼粘貼進去,按:wq后按Enter鍵保存退出:
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/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
如果安裝的是新版(這里是mysql-5.7.33),my.cnf會有默認內容,如下,則需要你手動修改datadir、socket、log-error、pid-file幾個參數
3.4 初始化數據庫
進入mysql的bin目錄:cd /usr/local/mysql/bin
執行初始化並查看mysql賬戶密碼:
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
cd /
cat /data/mysql/mysql.err
四. 啟動mysql
4.1 將mysql.server放置到/etc/init.d/mysql中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
4.2 啟動mysql,並查看是否啟動成功
啟動成功表示安裝完成!!!!
遇到的問題:
問題1:初始化時提示:--initialize specified but the data directory has files in it. Aborting.
原因分析:是因為根目錄下data目錄下有文件
解決辦法:在根目錄下使用rm -rf data,將data文件夾刪掉,重新創建一個/data/mysql文件目錄即可,命令為:mkdir -p /data/mysql
問題2:初始化時提示:log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
原因分析:沒有/var/log目錄下沒有mariadb目錄和mariadb.log文件
解決辦法:創建文件目錄和文件,然后給Mysql用戶賦權即可
mkdir /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chown -R mysql:mysql /var/log/mariadb/