mysql之mysql的安裝

這次MySQL安裝的版本爲:MySQL8.0mysql

系統爲:centos6.9 64位c++

1、利用yum倉庫安裝

wget https://repo.mysql.com//mysql80-community-release-el6-1.noarch.rpm 下載倉庫文件的rpm包sql

rpm -ihv mysql80-community-release-el6-1.noarch.rpm   安裝yum倉庫包數據庫

yum install mysql-community-server -y  yum安裝bootstrap

初始化:centos

service mysqld startide

grep 'temporary password' /var/log/mysqld.log   查看初始密碼ui

alter user 'root'@'localhost' identified by 'MySQLtest123'; 修改初始密碼centos7

2、編譯安裝

rpm包安裝沒有什麼難度,只要去官網下載rpm包,就能夠了。spa

之因此要用編譯安裝,主要是爲了隱藏版本號。由於各類中間件或多或少都是有一些漏洞的,黑客能夠經過掃描你中間件的版本號從而有針對的攻擊你的系統

好比用telnet ip 3306,就能看到mysql的版本信息,爲了隱藏版本信息,最好仍是使用編譯安裝。

 

安裝前的準備

yum install -y autoconf automake m4 libtool make cmake bison gcc ncurses-devel libaio glibc-devel.i686 glibc-devel gcc-c++       安裝依賴包

編譯安裝gcc

 

MySQL8.0編譯安裝須要用gcc的版本爲 4.8.3以上,若是是centos6,須要編譯安裝更高版本的gcc,若是是centos7 能夠略過這一步:

 

gcc全版本下載地址:http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/

我這裏是編譯安裝的gcc-6.1.0

 

wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-6.1.0/gcc-6.1.0.tar.gz

 

tar xf gcc-6.1.0.tar.gz

 

cd  gcc-6.1.0

 

 

 

# 載編譯須要的依賴包:./contrib/download_prerequisites

 

 

 

./configure --prefix=/usr/local/gcc-6.1.0/   --enable-bootstrap --enable-threads=posix --enable-languages=c,c++,objc,obj-c++

 

make &&make install

 

用先新安裝的高版本gcc替換以前的gcc環境:

 

ln -s /usr/local/gcc-6.1.0/bin/gcc /usr/bin/gcc

 

ln -s /usr/local/gcc-6.1.0/bin/g++ /usr/bin/g++

 

ln -s /usr/local/gcc-6.1.0/bin/c++ /usr/bin/c++

 

ln -s /usr/local/gcc-6.1.0/bin/gcc /usr/bin/cc 將新版本的gcc軟鏈接到/usr/bin下面使系統可以識別 

 

mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak

 

ln -s /usr/local/gcc-6.1.0/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6

友情提示:編譯gcc耗時很是長

安裝boost:(下載二進制包解壓到指定目錄便可)

wget https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz

tar -xf boost_1_66_0.tar.gz

mv boost_1_66_0 /usr/local/boost

編譯安裝mysql8.0

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.13.tar.gz

tar -xf mysql-8.0.13.tar.gz

cd mysql-8.0.13

修改版本信息

當切換到源碼目錄以後,其中有一個VERSION文件保存了mysql的版本信息,

執行cmake

cmake -DWITH_DEBUG=1 \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/var/lib/mysql \

-DWITH_BOOST=/usr/local/boost \

-DSYSCONFDIR=/etc \

-DEFAULT_CHARSET=utf8mb4 \

-DDEFAULT_COLLATION=utf8mb4_general_ci \

-DENABLED_LOCAL_INFILE=1 \

-DEXTRA_CHARSETS=all \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock

關於cmake:

網上不少教程都是直接貼上cmake操做命令,可是我以爲仍是須要理解這些cmake參數究竟是什麼意思,這樣也好方便本身作一些個性化定製。

cmake各項參數意義,請參見:https://blog.csdn.net/sanbingyutuoniao123/article/details/74544634 

執行完cmake以後進行編譯安裝:make && make install

提供新的服務腳本:

cp support-files/mysql.server /etc/init.d/mysqld

chmod +x  /etc/init.d/mysqld 

建立pid文件目錄:

mkdir /var/run/mysqld

chown -R mysql:mysql /var/run/mysqld

將mysql的二進制文件,導入環境變量:

echo export PATH=\$PATH:/usr/local/mysql/bin >> /etc/profile

. /etc/profile 

 初始化數據庫:

mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql

service mysqld start   啓動數據庫

grep 'temporary password' /var/log/mysqld.log   查看初始密碼

根據初始密碼進入數據庫並修改root用戶的密碼:

 

alter user 'root'@'localhost' identified by 'Mysql^123321$';

 

至此mysql8.0安裝完畢!

相關文章
相關標籤/搜索