1. 程式人生 > >linux 安裝mysql 8.0

linux 安裝mysql 8.0

環境說明:

[[email protected] ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core) 
[[email protected] ~]# uname -a
Linux izbp1e0xboek6oko8ni18yz 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

安裝mysql 8 

準備工作 安裝依賴 (gcc需要4.8.3及以上版本)

yum -y install wget  cmake gcc gcc-c++ ncurses  ncurses-devel  libaio-devel  openssl openssl-devel

1.下載安裝安裝包  

或者使用命令下載

[email protected]:[/usr/local/data/mysqlCluser/mysql-master]wget  https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.12.tar.gz

2.建立mysql使用者

      groupadd mysql
      useradd -r -g mysql -s /bin/false mysql

3.建立安裝目錄和資料目錄、解壓原始碼包

 我把主庫安裝在了 /usr/local/mysql8Cluster/mysql-master

完成後我的目錄結構如下:

[[email protected] mysql-master]# pwd
/usr/local/mysql8Cluster/mysql-master
[[email protected] mysql-master]# ls
data  mysql  mysql-8.0.12

4.編譯&安裝

根據自己的環境 自行配置引數。

[[email protected] mysql-8.0.12]#  cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql8Cluster/mysql-master/mysql  -DMYSQL_DATADIR=/usr/local/mysql8Cluster/mysql-master/data/ -DSYSCONFDIR=/usr/local/mysql8Cluster/mysql-master/ -DMYSQL_TCP_PORT=3310 -DWITH_BOOST=/usr/local/mysql8Cluster/mysql-master/mysql-8.0.12/boost/ 

#cmake完成成功後 返回結果如下
......
......
-- CMAKE_C_FLAGS_RELWITHDEBINFO: -O2 -ffunction-sections -fdata-sections -fPIC -g -fno-omit-frame-pointer  -DDBUG_OFF
-- CMAKE_CXX_FLAGS_RELWITHDEBINFO: -O2 -ffunction-sections -fdata-sections -fPIC -g -fno-omit-frame-pointer -std=c++11  -DDBUG_OFF
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/mysql8Cluster/mysql-master/mysql-8.0.12
#執行make 該過程比較耗時,也可能會遇到各種依賴問題,我遇到了gcc版本過低問題
[
[email protected]
mysql-8.0.12]# make
..........
.........
.......
[ 33%] Building CXX object sql/CMakeFiles/sql_gis.dir/gis/disjoint.cc.o
[ 33%] Building CXX object sql/CMakeFiles/sql_gis.dir/gis/distance.cc.o
[ 33%] Building CXX object sql/CMakeFiles/sql_gis.dir/gis/distance_sphere.cc.o
[ 33%] Building CXX object sql/CMakeFiles/sql_gis.dir/gis/equals.cc.o
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
make[2]: *** [sql/CMakeFiles/sql_gis.dir/gis/equals.cc.o] Error 4
make[1]: *** [sql/CMakeFiles/sql_gis.dir/all] Error 2
make: *** [all] Error 2

問題2.gcc 版本太低,gcc版本需要4.8.3及以上。gcc版本低於4.8.3 cmake時報錯。升級gcc後還是報相同錯誤,可參考http://www.jyguagua.com/?p=3261。cmake有快取可刪除重新解壓後cmake。(gcc編譯了近4個小時)

5.新建配置檔案 my.cnf

cat /etc/my.cnf
      [mysqld]
      server-id=1
      port=3306
      basedir=/usr/local/mysql
      datadir=/data/mysql
    ##請根據實際情況新增引數

6.目錄許可權修改

[email protected]:chown -R mysql:mysql /usr/local/data/mysqlCluser/mysql-master/mysql-8.0.12
[email protected]:chown -R mysql:mysql /usr/local/data/mysqlCluser/mysql-master/data/
[email protected]:chmod 755 /usr/local/data/mysqlCluser/mysql-master/mysql-8.0.12/
[email protected]:chmod 755 /usr/local/data/mysqlCluser/mysql-master/data/

7初始化資料庫

bin/mysqld --initialize --user=mysql --datadir=/data/mysql/

bin/mysql_ssl_rsa_setup

8.啟動mysql