CentOS 7 安裝MySQL5.7.25


STEP 1. 下載

去往官方下載MySQL包.http://dev.mysql.com

mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

 

[root@study mysql] pwd
/root/mysql
[root@study mysql] wget https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-i686.tar.gz

 

STEP 2. 解壓縮

[root@study mysql]pwd
/root/mysql
[root@study mysql]tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
[root@study mysql]ll
drwxr-xr-x. 9 root root      4096 March 19 11:49 mysql-5.7.25-linux-glibc2.12-x86_64

 

STEP 3.  將解壓后的目錄的內容移動到指定的安裝目錄下,我選擇在/usr/local/mysql, 建立相關文件以及修改文件和目錄的屬性

[root@study mysql]test -d /usr/local/mysql || mkdir /usr/local/mysql
#移動第二步中解壓目錄中的所有數據到 /usr/local/mysql中
[root@study mysql] mv mysql-5.7.25-linux-glibc2.12-x86_64/* /usr/local/mysql

# 查看是否有mysql用戶名和mysql用戶組
[root@study mysql] cat /etc/passwd | grep mysql [root@study mysql] cat /etc/group | grep mysql

#如果存在,則刪除用戶和用戶組
[root@study mysql] userdel -r mysql

# 接下來,新建mysql用戶(系統賬號)、mysql用戶組
[root@study mysql] groupadd mysql [root@study mysql] useradd -r -g mysql mysql

#更改/usr/local/mysql目錄的用戶以及用戶組
[root@study mysql]chown -R mysql:mysql /usr/local/mysql

# 設置mysql用戶為非登錄用戶
[root@study mysql]usermod -s /sbin/nologin mysql

# 設置mysql用戶家目錄為/usr/local/mysql
[root@study mysql]usermode -d /usr/local/mysql mysql

####或者可以直接在建立用戶時候指定
[root@study mysql] useradd -r -s /sbin/nologin -d /usr/local/mysql/ -g mysql

# 創建MySQL 數據目錄
[root@study mysql]mkdir /var/mysql

# 更改目錄權限(用戶以及用戶組)
[root@study mysql]chown -R mysql:mysql /var/mysql

# 創建 socket文件
[root@study mysql] touch /tmp/mysqld.sock [root@study mysql] chown mysql:mysql /tmp/mysqld.sock

# 創建pid文件
[root@study mysql] touch /usr/local/mysql/mysqld.pid [root@study mysql] chow mysql:mysql /usr/local/mysql/mysqld.pid

# 創建 日志
[root@study mysql] test -d /var/log/mysql || mkdir /var/log/mysql
[root@study mysql] touch /var/log/mysql/mysqld.log
[root@study mysql] chown -R mysql:mysql /var/log/mysql

 

 STEP 4. 修改配置文件 /etc/my.cnf

[root@study mysql] vim /etc/my.cnf

###

[mysqld]
# 數據目錄
datadir=/var/mysql
# 基礎目錄
basedir=/usr/local/mysql
# MySQL監聽端口
port=3306
# soket文件
socket=/tmp/mysqld.sock
# 服務器字符集
character-set-server = utf8
symbolic-links=0
[mysqld_safe]
# mysql 日志文件
log-error=/var/log/mysql/mysqld.log
# mysql pid文件
pid-file=/usr/local/mysql/mysqld.pid

 

STEP 5. 安裝初始化

[root@study mysql] /usr/local/mysql/bin/mysqld --intialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/mysql 

出現錯誤
Can't find error-message file '/usr/local/mysql/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive

嘗試
將源碼包里面的/usr/local/mysql/share/english/errmsg.sys復制到/usr/share/mysql/errmsg.sys

 

STEP 6.  啟動測試以及service文件創建

[root@study mysql] /usr/local/mysql/bin/mysqld_safe --user=mysql &

# 如果能夠通過 ps aux | grep mysqld 能看到信息,證明mysql啟動成功,否則去找相應的日志錯誤,查明原因

# 建立啟動service,能夠以守護進程的方式運行mysql

[root@sutyd mysql] vim /usr/lib/systemd/system/mysqld.service

[Service]
# 服務類型 Type
=forking
# 執行的用戶和用戶組 User
=mysql Group=mysql
# PID文件 PIDFile
=/var/run/mysql/mysql.pid
TimeoutSec
=0 PermissionsStartOnly=true
#執行字符串
ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/mysqld.pid $MYSQLD_OPTS LimitNOFILE = 5000 Restart=on-failure RestartPreventExitStatus=1 PrivateTmp=false [Install] WantedBy=multi-user.target Alias=mysql.service # 相應的service 介紹,可以參見 man systemd.service 中

 

STEP 7.  設置開機啟動以及打開防火牆設置

#開機啟動
[root@study mysql] systemctl enable mysqld.service
#防火牆
[root@study mysql] firewall-cmd --permanent --zone=pulibc --add-port=3306/tcp
[root@study mysql] firewall-cmd --reload

 


免責聲明!

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



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