安裝前准備
基本需求 采用CentOS7系統搭建MySQL服務器 關閉防火牆 關閉SELinux 軟件MySQL-5.7.17-1
RPM包方式安裝
從官方下載RPM軟件包 ——http://dev.mysql.com/downloads/mysql/ ——適用於當前系統的bundle集合包 mysql-community-client //客戶端應用程序 mysql-community-common //數據庫和客戶端庫共享文件 mysql-community-devel //客戶端應用程序的庫和頭文件 mysql-community-embedded //嵌入式函數庫 mysql-community-embedded-compat //嵌入式兼容函數庫 mysql-community-embedded-devel //頭文件和庫文件作為MySQL的嵌入式庫文件 mysql-community-libs //MySQL數據庫客戶端應用程序的共享庫 mysql-community-libs-compat //客戶端應用程序的共享兼容庫
准備工作(如果以安裝過mariadb須執行該操作) ——停止mariadb服務 ——刪除文件 /etc/my.cnf ——刪除數據 ——卸載軟件包 [root@localhost ~]# systemctl stop mariadb [root@localhost ~]# rm -rf /etc/my.cnf [root@localhost ~]# rm -rf /var/lib/mysql/* [root@localhost ~]# rpm -e --nodeps mariadb-server
采用U升級安裝,可替換沖突文件 [root@localhost ~]# tar –xf mysql-5.7.17.tar -C /root/mysql [root@localhost mysql]# yum -y install net-tools //安裝MySQL需要的依賴包 [root@localhost ~]# yum -y install perl-Data-Dumper //安裝MySQL需要的依賴包 [root@localhost ~]# yum -y install perl-JSON //安裝MySQL需要的依賴 [root@localhost ~]# rpm -Uvh mysql-community-*.rpm //升級安裝MySQL
通用二進制安裝(mariadb)

1 准備用戶 groupadd -r -g 3306 mysql useradd -r -g 3306 -u 3306 -d /data/mysql mysql 2 准備數據目錄,建議使用邏輯卷 #可選做,后面的腳本mysql_install_db可自動生成此目錄 mkdir /data/mysql chown mysql:mysql /data/mysql 3 准備二進制程序 tar xf mariadb-VERSION-linux-x86_64.tar.gz -C /usr/local cd /usr/local ln -sv mariadb-VERSION mysql chown -R root:root /usr/local/mysql/ 4 准備配置文件 cd /usr/local/mysql cp -b support-files/my-large.cnf /etc/my.cnf vim /etc/my.cnf #mysql語句塊中添加以下三個選項 [mysqld] datadir = /data/mysql innodb_file_per_table = on #在mariadb5.5以上版的是默認值,可不加 skip_name_resolve = on #禁止主機名解析,建議使用 5 創建數據庫文件 cd /usr/local/mysql/ ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql [root@centos8 mysql]#ls /data/mysql/ -l total 110604 -rw-rw---- 1 mysql mysql 12582912 Jun 1 16:44 ibdata1 -rw-rw---- 1 mysql mysql 50331648 Jun 1 16:44 ib_logfile0 -rw-rw---- 1 mysql mysql 50331648 Jun 1 16:44 ib_logfile1 drwx------ 2 mysql mysql 4096 Jun 1 16:44 mysql drwx------ 2 mysql mysql 4096 Jun 1 16:44 performance_schema drwx------ 2 mysql mysql 4096 Jun 1 16:44 test 6 准備服務腳本,並啟動服務 cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld chkconfig --add mysqld service mysqld start #如果有對應的service 文件可以執行下面 cp support-files/systemd/mariadb.service /usr/lib/systemd/system/ systemctl daemon-reload systemctl enable --now mariadb 7 PATH路徑 echo 'PATH=/user/local/mysql/bin:$PATH’ > /etc/profile.d/mysql.sh . /etc/profile.d/mysql.sh 8 安全初始化 /user/local/mysql/bin/mysql_secure_installation
源代碼安裝(mariadb)

建議:內存4G以上 1 安裝相關依賴包 yum -y install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel 2 做准備用戶和數據目錄 useradd -r -s /sbin/nologin -d /data/mysql mysql 3 准備數據庫目錄 mkdir /data/mysql chown mysql.mysql /data/mysql 4 源碼編譯安裝 編譯安裝說明 利用cmake編譯,而利用傳統方法,cmake的重要特性之一是其獨立於源碼(out-of-source)的編譯功能, 即編譯工作可以在另一個指定的目錄中而非源碼目錄中進行,這可以保證源碼目錄不受任何一次編譯的 影響,因此在同一個源碼樹上可以進行多次不同的編譯,如針對於不同平台編譯 編譯選項:https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html 4.1 下載並解壓縮源碼包 tar xvf mariadb-10.2.18.tar.gz 4.2 源碼編譯安裝mariadb cd mariadb-10.2.18/ cmake . \ -DCMAKE_INSTALL_PREFIX=/app/mysql \ -DMYSQL_DATADIR=/data/mysql/ \ -DSYSCONFDIR=/etc/ \ -DMYSQL_USER=mysql \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITHOUT_MROONGA_STORAGE_ENGINE=1 \ -DWITH_DEBUG=0 \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_LIBWRAP=0 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci make && make install 提示:如果出錯,執行rm -f CMakeCache.txt 5 准備環境變量 echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh . /etc/profile.d/mysql.sh 6 生成數據庫文件 cd /app/mysql/ scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql 7 准備配置文件 cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf 8 准備啟動腳本,並啟動服務 cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld chkconfig --add mysqld service mysqld start 9 安全初始化 mysql_secure_installation
啟動數據庫服務器
啟動MySQL數據庫服務 [root@localhost ~]# systemctl start mysqld //啟動服務 [root@localhost ~]# ps -C mysqld //查看服務進程 [root@localhost ~]# systemctl status mysqld //查看服務狀態 [root@localhost ~]# ss -anptul | grep mysqld //查看服務狀態 [root@localhost ~]# systemctl enable mysqld //設置服務開機自啟