共計 7128 個字符,預計需要花費 18 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
今天就跟大家聊聊有關怎么在 centos7 系統中安裝 mysql8,可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
一、RPM 版安裝
查看是否有其他版本的數據庫, 若有, 刪除干凈
非 root 用戶必須要有 sudo 權限
1. 下載 mysql 相關安裝包
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-server-8.0.18-1.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-libs-8.0.18-1.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-common-8.0.18-1.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community-client-8.0.18-1.el7.x86_64.rpm
2. 其他依賴 (可以先跳過該步, 看后面安裝 mysql 時缺少什么依賴就安裝什么依賴)
到該網址下去尋找 gcc、gcc-c++、openssl、perl 及其依賴包
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/
3. 安裝 mysql(未報錯則表示安裝成功)
4. 自定義配置 mysql(如果不想改變 mysql 的默認相關目錄, 跳至第 6 步)
修改 Mysql 默認的配置文件內容
sudo vi /etc/my.cnf
刪除所有內容, 加入以下內容:
[mysqld]
user=mysql
port=3306
datadir=/app/mysql/data
socket=/app/mysql/mysql.sock
log-error=/app/mysql/log/mysqld.log
pid-file=/app/mysql/mysqld.pid
[client]
socket=/app/mysql/mysql.sock
5. 創建配置文件中的相關目錄并修改權限
sudo mkdir /app/mysql/data /app/mysql/log -p
sudo chown mysql:mysql /app/mysql -R
6. 初始化 mysql
7. 啟動 mysql
若啟動出錯:
a. 請查看 mysql 相關目錄的所屬用戶和所屬組是否是 mysql
b. 請查看 selinux 是否關閉: 執行 sudo getenforce 得到的結果若不是 Permissive, 執行命令:sudo setenforce 0
c. 查看端口是否被占用
d. 若還是無法啟動: 請查看 mysql 錯誤日志以及 sudo systemctl status mysqld 或者 journalctl -xe
8. 登錄 mysql
查看 Mysql 的初始密碼 (root@localhost: 后面的就是初始密碼)
sudo cat /app/mysql/log |grep root@localhost (做過第 4 步使用該命令)
sudo cat /var/log/mysqld.log|grep root@localhost (未做過第 4 步使用該命令)
登錄 mysql, 復制上面的密碼
mysql -p
9. 修改 mysql 密碼 (初次登錄必須修改密碼, 否則無法使用 mysql 命令)
alter user root @ localhost identified by 你的密碼
二、源碼版安裝
非 root 用戶必須要有 sudo 權限
1. 下載相關源碼包
https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gz
https://mirrors.tuna.tsinghua.edu.cn/gnu/gmp/gmp-6.2.0.tar.xz
https://mirrors.tuna.tsinghua.edu.cn/gnu/m4/m4-latest.tar.gz
https://mirrors.tuna.tsinghua.edu.cn/gnu/mpfr/mpfr-4.0.2.tar.gz
https://mirrors.tuna.tsinghua.edu.cn/gnu/mpc/mpc-1.1.0.tar.gz
https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.19.tar.gz
http://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz
https://down.24kplus.com/linux/cmake/cmake-3.16.2.tar.gz
2. 安裝低版本的 gcc、gcc-c++(必須要做, 否則升級 gcc 安裝 m4/gmp/mpfr/mpc 時 configure 會報錯:configure: error: no acceptable C compiler found in $PATH)
到該網址下尋找 gcc、gcc-c++ 及其依賴包 (能連外網的可以直接使用命令:sudo yum -y install gcc gcc-c++)
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/
3. 安裝源碼版 cmake
必須安裝 openssl 和 openssl-devel 依賴, 下載網址同上, 否則 bootstrap 會報錯: 找不到 openssl(能連外網的可以直接使用命令:sudo yum -y install openssl openssl-devel)
tar cmake-3.16.1.tgz
cd cmake-3.16.1
sudo ./bootstrap
sudo make
sudo make check
sudo make install
4. 升級 gcc、gcc-c++
a. 安裝 m4
tar -xzvf m4-latest.tar.gz
cd m4-1.4.17/
sudo ./configure --prefix=/usr/local(--prefix 指定安裝路徑)
sudo make (編譯)
sudo make check (檢查編譯是否有錯, 注意是否有 Error, 可以不做)
sudo make install (安裝)
m4 --version (查看 m4 版本)
正確安裝后可以看到如下結果
b. 安裝 gmp
sudo ln -s /usr/local/bin/m4 /usr/bin (把 m4 做一個軟連接到此路徑下, 否則 configure 時會報錯:checking for suitable m4... configure: error: No usable m4 in $PATH or /usr/5bin (see config.log for reasons).)
tar -xvf gmp-6.2.0.tar.xz
cd gmp-6.2.0
sudo ./configure --prefix=/usr/local/gmp-6.2 (非管理員必須要 sudo, 否則會報錯:Permission denied)
sudo make
sudo make check
sudo make install
c. 安裝 mpfr
tar -xzvf mpfr-4.0.2.tar.gz
cd mpfr-4.0.2
sudo ./configure --prefix=/usr/local/mpfr-4.0 --with-gmp=/usr/local/gmp-6.2 (--with-gmp 為 gmp 的安裝目錄)
sudo make
sudo make check
sudo make install
d. 安裝 mpc
tar -xzvf mpc-1.1.0.tar.gz
cd mpc-1.1
sudo ./configure --prefix=/usr/local/mpc-1.1 --with-gmp=/usr/local/gmp-6.2 --with-mpfr=/usr/local/mpfr-4.0
sudo make
sduo make check
sudo make install
e. 加入庫文件(/usr/local/mpfr-4.0/lib/ 必須加入庫文件, 其他兩個可以不做, 否則安裝升級 gcc 編譯時會報錯:error while loading shared libraries: libmpfr.so.6: cannot open shared object file: No such file or directory)
sudo vi /etc/ld.so.conf
/usr/local/mpfr-4.0/lib/
/usr/local/gmp-6.2/lib
/usr/local/mpc-1.1/lib
sudo ldconfig (使上面的操作生效)
或者做軟連接
sudo ln -s /usr/local/mpfr-4.0/lib/libmpfr.so.6 /usr/bin
或者復制
sudo cp /usr/local/mpfr-4.0/lib/libmpfr.so.6 /usr/bin/
f. 安裝其他依賴 (系統未安裝依賴包時, 必須要裝, 否則升級 gcc 編譯時會報錯:mpc.h: 沒有那個文件或目錄)
下載 gmp-devel 和 libmpc-devel 及其依賴包 (能連外網的可以直接使用命令:sudo yum -y install gmp-devel libmpc-devel)
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/gmp-6.0.0-15.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/gmp-devel-6.0.0-15.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/libmpc-1.0.1-3.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/libmpc-devel-1.0.1-3.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/mpfr-3.1.1-4.el7.x86_64.rpm
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/mpfr-devel-3.1.1-4.el7.x86_64.rpm
若還有依賴包需下載,請到 https://mirrors.tuna.tsinghua.edu.cn 自行下載
g. 升級 gcc
tar -xzvf gcc-9.2.0.tar.gz
cd gcc-9.2.0
sudo ./configure --prefix=/usr/local/gcc-9.2 \
--enable-bootstrap\
--enable-checking=release \
--enable-languages=c,c++ \
--enable-threads=posix \
--disable-checking\
--disable-multilib\
--enable--long-long\
--with-gmp=/usr/local/gmp-6.2\
--with-mpfr=/usr/local/mpfr-4.0\
--with-mpc=/usr/local/mpc-1.1
sudo make (編譯時間較長,1 個小時的樣子)
sudo make check
sudo make install
務必卸載低版本的 gcc、gcc-c++
sudo rpm -e gcc-c++
sudo rpm -e gcc
sudo vi /etc/profile export PATH=$PATH:/usr/local/gcc/bin
source /etc/profile
查看 gcc 版本號
gcc –version
5. 安裝源碼版 mysql
安裝 ncurses-devel 依賴, 否則 cmake 報錯:Curses library not found.Please install appropriate package(能連外網的可以直接使用命令:sudo yum -y install ncurses-devel, 不能連上外網的下載地址同第 2 步一樣)
tar -xzvf mysql-8.0.19.tar.gz
cd mysql-8.0.19
cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql\
-DDEFAULT_CHARSET=utf8\
-DDEFAULT_COLLATION=utf8_general_ci\
-DENABLED_LOCAL_INFILE=ON\
-DWITH_SSL=system\
-DMYSQL_DATADIR=/app/mysql/data\
-DSYSCONFDIR=/app/mysql/config\
-DMYSQL_TCP_PORT=3306\
-DMYSQL_UNIX_ADDR=/app/mysql/mysql.sock\
-DWITH_BOOST=/home/mcbadm/mysql8/\
-DFORCE_INSOURCE_BUILD=1
-DDEFAULT_CHARSET: 設置字符集
-DDEFAULT_COLLATION: 設置排序規則
-DENABLED_LOCAL_INFILE=ON: 啟用本地數據導入支持
-DWITH_SSL=system: 啟用 ssl 庫支持
-DMYSQL_DATADIR: 數據文件目錄, 可任意
-DSYSCONFDIR: 配置文件目錄, 可任意
-DMYSQL_TCP_PORT:mysql 監聽的 TCP 端口
-DMYSQL_UNIX_ADDR:mysql.sock 路徑, 可任意
-DWITH_BOOST:boost 源碼包所在目錄
-DFORCE_INSOURCE_BUILD: 強制建立未存在的資源目錄
cmake 若報錯, 請找到原因解決后刪除 CMakeCache.txt 再次 cmake
sudo rm -rf /usr/lib64/libstdc++.so.6* (刪掉所有低版本 c ++ 的庫文件)
sudo ln -s /usr/local/gcc-9.2/lib64 /usr/lib64 (把新安裝的高本版 c ++ 庫文件加入到系統庫文件中)
sudo make (需要大概 1 小時)
sudo make install
6. 編寫配置文件,建立目錄并授權
sudo mkdir /app/mysql/config
sudo cd /app/mysql
sudo vi config/my.cnf
加入以下內容:
[mysqld]
user=mysql
port=3306
datadir=/app/mysql/data
socket=/app/mysql/mysql.sock
[mysqld_safe]
log-error=/app/mysql/logs/mysql-err.log
pid-file=/app/mysql/mysql.pid
[client]
socket=/app/mysql/mysql.sock
sudo useradd mysql -s /sbin/nologin
sudo mkdir -p /app/mysql/logs
sudo touch /app/mysql/logs/mysql-err.log
sudo chown -R mysql.mysql /app/mysql
7. 初始化并登陸修改密碼
初始化
sudo /app/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/app/mysql/data --basedir=/app/mysql (無初始密碼的,若想要初始密碼,使用 --initialize)
啟動
sudo /app/mysql/support-files/mysql.server start
登陸 (若無初始密碼直接回車即可)
sudo /app/mysql/bin/mysql -p
修改密碼
alter user root @ localhost identified by 密碼
看完上述內容,你們對怎么在 centos7 系統中安裝 mysql8 有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注丸趣 TV 行業資訊頻道,感謝大家的支持。
向 AI 問一下細節