一、RPM版安裝
查看是否有其他版本的數(shù)據(jù)庫(kù),若有,刪除干凈
非root用戶必須要有sudo權(quán)限
1.下載mysql相關(guān)安裝包
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.其他依賴(可以先跳過(guò)該步,看后面安裝mysql時(shí)缺少什么依賴就安裝什么依賴)
到該網(wǎng)址下去尋找gcc、gcc-c++、openssl、perl及其依賴包
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/
3.安裝mysql(未報(bào)錯(cuò)則表示安裝成功)
4.自定義配置mysql(如果不想改變mysql的默認(rèn)相關(guān)目錄,跳至第6步)
修改Mysql默認(rèn)的配置文件內(nèi)容
sudo vi /etc/my.cnf
刪除所有內(nèi)容,加入以下內(nèi)容:
[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.創(chuàng)建配置文件中的相關(guān)目錄并修改權(quán)限
sudo mkdir /app/mysql/data /app/mysql/log -p sudo chown mysql:mysql /app/mysql -R
6.初始化mysql
7.啟動(dòng)mysql
若啟動(dòng)出錯(cuò):
a.請(qǐng)查看mysql相關(guān)目錄的所屬用戶和所屬組是否是mysql
b.請(qǐng)查看selinux是否關(guān)閉:執(zhí)行sudo getenforce得到的結(jié)果若不是Permissive,執(zhí)行命令:sudo setenforce 0
c.查看端口是否被占用
d.若還是無(wú)法啟動(dòng):請(qǐng)查看mysql錯(cuò)誤日志以及sudo systemctl status mysqld或者journalctl -xe
8.登錄mysql
查看Mysql的初始密碼(root@localhost:后面的就是初始密碼)
sudo cat /app/mysql/log |grep root@localhost (做過(guò)第4步使用該命令) sudo cat /var/log/mysqld.log|grep root@localhost (未做過(guò)第4步使用該命令)
登錄mysql,復(fù)制上面的密碼
mysql -p
9.修改mysql密碼(初次登錄必須修改密碼,否則無(wú)法使用mysql命令)
alter user 'root'@'localhost' identified by '你的密碼';
二、源碼版安裝
非root用戶必須要有sudo權(quán)限
1.下載相關(guān)源碼包
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++(必須要做,否則升級(jí)gcc安裝m4/gmp/mpfr/mpc時(shí)configure會(huì)報(bào)錯(cuò):configure: error: no acceptable C compiler found in $PATH)
到該網(wǎng)址下尋找gcc、gcc-c++及其依賴包(能連外網(wǎng)的可以直接使用命令:sudo yum -y install gcc gcc-c++)
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/
3.安裝源碼版cmake
必須安裝openssl和openssl-devel依賴,下載網(wǎng)址同上,否則bootstrap會(huì)報(bào)錯(cuò):找不到openssl(能連外網(wǎng)的可以直接使用命令: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.升級(jí)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 (檢查編譯是否有錯(cuò),注意是否有Error,可以不做) sudo make install (安裝) m4 --version (查看m4版本)
正確安裝后可以看到如下結(jié)果
b.安裝gmp
sudo ln -s /usr/local/bin/m4 /usr/bin (把m4做一個(gè)軟連接到此路徑下,否則configure時(shí)會(huì)報(bào)錯(cuò):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,否則會(huì)報(bào)錯(cuò):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.加入庫(kù)文件(/usr/local/mpfr-4.0/lib/必須加入庫(kù)文件,其他兩個(gè)可以不做,否則安裝升級(jí)gcc編譯時(shí)會(huì)報(bào)錯(cuò):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
或者復(fù)制
sudo cp /usr/local/mpfr-4.0/lib/libmpfr.so.6 /usr/bin/
f.安裝其他依賴(系統(tǒng)未安裝依賴包時(shí),必須要裝,否則升級(jí)gcc編譯時(shí)會(huì)報(bào)錯(cuò):mpc.h:沒有那個(gè)文件或目錄)
下載gmp-devel和libmpc-devel及其依賴包(能連外網(wǎng)的可以直接使用命令: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
若還有依賴包需下載,請(qǐng)到https://mirrors.tuna.tsinghua.edu.cn自行下載
g.升級(jí)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 (編譯時(shí)間較長(zhǎng),1個(gè)小時(shí)的樣子) sudo make check sudo make install
務(wù)必卸載低版本的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版本號(hào)
gcc --version
5.安裝源碼版mysql
安裝ncurses-devel依賴,否則cmake報(bào)錯(cuò):Curses library not found.Please install appropriate package(能連外網(wǎng)的可以直接使用命令:sudo yum -y install ncurses-devel
,不能連上外網(wǎng)的下載地址同第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
以上參數(shù)介紹如下(簡(jiǎn)單的參數(shù),更詳細(xì)參數(shù)請(qǐng)參考https://blog.51cto.com/laowafang/1294964):-DCMAKE_INSTALL_PREFIX:安裝目錄
-DDEFAULT_CHARSET:設(shè)置字符集 -DDEFAULT_COLLATION:設(shè)置排序規(guī)則 -DENABLED_LOCAL_INFILE=ON:啟用本地?cái)?shù)據(jù)導(dǎo)入支持 -DWITH_SSL=system:啟用ssl庫(kù)支持 -DMYSQL_DATADIR:數(shù)據(jù)文件目錄,可任意 -DSYSCONFDIR:配置文件目錄,可任意 -DMYSQL_TCP_PORT:mysql監(jiān)聽的TCP端口 -DMYSQL_UNIX_ADDR:mysql.sock路徑,可任意 -DWITH_BOOST:boost源碼包所在目錄 -DFORCE_INSOURCE_BUILD:強(qiáng)制建立未存在的資源目錄 cmake若報(bào)錯(cuò),請(qǐng)找到原因解決后刪除CMakeCache.txt再次cmake sudo rm -rf /usr/lib64/libstdc++.so.6* (刪掉所有低版本c++的庫(kù)文件) sudo ln -s /usr/local/gcc-9.2/lib64 /usr/lib64 (把新安裝的高本版c++庫(kù)文件加入到系統(tǒng)庫(kù)文件中) sudo make (需要大概1小時(shí)) sudo make install
6.編寫配置文件,建立目錄并授權(quán)
sudo mkdir /app/mysql/config sudo cd /app/mysql sudo vi config/my.cnf
加入以下內(nèi)容:
[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 (無(wú)初始密碼的,若想要初始密碼,使用--initialize)
啟動(dòng)
sudo /app/mysql/support-files/mysql.server start
登陸(若無(wú)初始密碼直接回車即可)
sudo /app/mysql/bin/mysql -p
修改密碼
alter user 'root'@'localhost' identified by '密碼';
總結(jié)
以上所述是小編給大家介紹的linux centos7安裝mysql8的教程,希望對(duì)大家有所幫助!
標(biāo)簽:秦皇島 定西 白銀 寧夏 杭州 澳門 恩施 益陽(yáng)
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《linux centos7安裝mysql8的教程》,本文關(guān)鍵詞 linux,centos7,安裝,mysql8,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。