1.環境準備
查看當前Linux操作系統版本爲CentOS release 6.10
[root@ufo129 ~]# lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.10 (Final)
Release: 6.10
Codename: Final
2.下載安裝包
下載網址
https://dev.mysql.com/downloads/mysql/
下載對應操作系統的mysql安裝包(沒有賬號可以免費註冊一個賬號)
3.預備知識
很多對mysql很熟悉的用戶都喜歡採用源碼來進行安裝,因爲在安裝源碼包的過程中能夠提供更靈活的安裝選項和更多的性能設置,這樣安裝的數據庫性能較高,具體的個性定製化參數可參考官方文檔:
https://dev.mysql.com/doc/refman/8.0/en/source-configuration-options.html
例如:
必要的安裝依賴可參考官方說明:
https://dev.mysql.com/doc/refman/8.0/en/source-installation-prerequisites.html
例如(安裝過程複雜,依賴嵌套依賴,具體可百度一下)(若滿足安裝依賴,可忽略此步)
4.執行安裝
用root登錄操作系統,增加mysql用戶和組,數據庫將安裝在此用戶下(如若已存在MySQL用戶,在確定不影響其他功能的情況下,可將之刪除,並重建)
[root@ufo ~]# userdel -r mysql
userdel: mysql mail spool (/var/spool/mail/mysql) not found
[root@ufo ~]# groupadd mysql
[root@ufo ~]# useradd -g mysql mysql
創建安裝目錄,上傳安裝包等操作
[root@ufo ~]# mkdir -p /opt/mysql
[root@ufo ~]# cd /opt/mysql
[root@ufo mysql]# ll
total 257964
-rw-r--r-- 1 root root 264147972 Apr 14 23:54 mysql-boost-8.0.19.tar.gz
[root@ufo mysql]# tar -xzvf mysql-boost-8.0.19.tar.gz
[root@ufo mysql]# cd mysql-8.0.19/
[root@ufo mysql-8.0.19]# mkdir bld
[root@ufo mysql-8.0.19]# cd bld/
預設安裝參數(安裝位置、生成副本的個數)
[root@ufo bld]# cmake .. -DCMAKE_INSTALL_PREFIX=/opt/mysql_8 -DCPACK_MONOLITHIC_INSTALL=1
[root@ufo bld]# make
[root@ufo bld]# make install
或
make install DESTDIR="/opt/mysql_8"
[root@ufo bld]# cd /opt/mysql_8
[root@ufo mysql_8]# mkdir mysql-files
[root@ufo mysql_8]# chown mysql:mysql mysql-files
[root@ufo mysql_8]# chmod 750 mysql-files
初始化時請記住root的臨時密碼
[root@ufo mysql_8]# bin/mysqld --initialize --user=mysql
[root@ufo mysql_8]# bin/mysql_ssl_rsa_setup
後臺啓動mysql
用kill -9可關閉後臺mysql進程
[root@ufo mysql_8]# bin/mysqld_safe --user=mysql &
配置環境變量、以及服務
[root@ufo mysql_8]# vim /etc/profile
export PATH=$PATH:/usr/local/mysql_8/bin
[root@ufo mysql_8]# source /etc/profile
[root@ufo mysql_8]# cp support-files/mysql.server /etc/init.d/mysql.server
[root@ufo mysql_8]# vim /etc/init.d/mysql.server
basedir=/opt/mysql_8/
datadir=/opt/mysql_8/data
啓動服務、修改臨時密碼、重啓生效(修改的密碼必須滿足密碼策略:字母大小寫、數字和特殊字符,長度不小於8)
[root@ufo mysql_8]# service mysql.server start
Starting MySQL SUCCESS!
[root@ufo mysql_8]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Ufo_123456';
Query OK, 0 rows affected (0.14 sec)
mysql> flush privileges;
5.執行卸載
1.關閉數據庫 service mysql.server stop
2.刪除mysql用戶(可選、不影響其他使用)userdel -r mysql
2.刪除之前的環境變量配置 /etc/profile
3.刪除之前的啓動服務 /etc/init.d/mysql.server
4.刪除整個安裝目錄 /opt/mysql_8
7.刪除全局參數文件(如果有my.cnf)
注意:具體的目錄、配置等取決於之前配置過的位置
6.文件佈局
可通過參數個性化定製文件佈局,默認文件佈局如下:
7.總結
優點:可按需定製編譯,最靈活;性能最好;一臺服務器可以安裝多個mysql。
缺點:安裝過程複雜;編譯時間長。
官方參考:https://dev.mysql.com/doc/refman/8.0/en/installing-source-distribution.html