1. 程式人生 > >CentOS 6.9 自定義單實例 二進制方式 安裝mysql5.7.21

CentOS 6.9 自定義單實例 二進制方式 安裝mysql5.7.21

二進制方式 安裝mysql5.7.21 Centos 5.7

前言
比 MySQL 5.6 快 3 倍,同時還提高了可用性,可管理性和安全性。一些重要的增強功能如下:

1.性能和可擴展性:
    改進 InnoDB 的可擴展性和臨時表的性能,從而實現更快的網絡和大數據加載等操作。
2.JSON支持:
    使用 MySQL 的 JSON 功能,你可以結合 NoSQL 的靈活和關系數據庫的強大。
3.改進復制
    以提高可用性的性能。包括多源復制,多從線程增強,在線 GTIDs,和增強的半同步復制。
4.性能模式
    提供更好的視角。我們增加了許多新的監控功能,以減少空間和過載,使用新的 SYS 模式顯著提高易用性。
5.安全:
    我們貫徹“安全第一”的要求,許多 MySQL 5.7 新功能幫助用戶保證他們數據庫的安全。
6.優化:
    我們重寫了大部分解析器,優化器和成本模型。這提高了可維護性,可擴展性和性能。
7.GIS: 
    MySQL 5.7 全新的功能,包括 InnoDB 空間索引,使用 Boost.Geometry,同時提高完整性和標準符合性。
實驗環境:VMware Workstation Pro 14(試用版)

系統平臺:
CentOS release 6.9 (Final)             內核  2.6.32-696.el6.x86_64

1.去官網下載適合的二進制包

https://dev.mysql.com/downloads/mysql/

技術分享圖片

mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

檢查系統內是否安裝了數據庫。

#rpm -qa|grep MariaDB
#rpm -qa|grep mysql

2.創建用於啟動mysql的賬號和組

#getent group mysql > /dev/null || groupadd mysql
#getent passwd mysql > /dev/null || useradd -g mysql -r -s /sbin/nologin mysql

3.解壓包至/usr/local

#tar xvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

4.創建軟鏈接mysql指向解壓後的目錄

#cd /usr/local/
#ln -s mysql-5.7.21-linux-glibc2.12-x86_64/ mysql

5.修改mysql文件夾所屬者和所屬組

#chown -R mysql.mysql mysql/

6.添加PATH至環境變量中

#echo ‘PATH=/usr/local/mysql/bin:$PATH‘ >> /etc/profile.d/mysql.sh

檢查文件
#cat /etc/profile.d/mysql.sh

加載環境變量文件 並檢查
#source /etc/profile.d/mysql.sh
#echo $PATH

7.創建數據庫存放文件夾和相關文件並修改權限

#mkdir -pv /data/mysqldb/3306/{logs,run,data}
#touch /data/mysqldb/3306/run/mysqld.pid
#touch /data/mysqldb/3306/logs/mysql-error.log
#chown -R mysql.mysql /data/mysqldb/
#chmod -R 770 /data/mysqldb

文件沒有創建的話,啟動Mysql時將會報錯

8.修改配置文件

#vim /etc/my.cnf

[client]  
port = 3306  
socket = /var/lib/mysql/mysql.sock    > 默認就是在這裏

[mysqld]  
user=mysql  
port = 3306  
socket=/var/lib/mysql/mysql.sock  
basedir =/usr/local/mysql
datadir =/data/mysqldb/3306/data 
pid-file=/data/mysqldb/3306/run/mysqld.pid 
log-error=/data/mysqldb/3306/logs/mysql-error.log 

9.初始化數據庫

# cd /usr/local/mysql
# bin/mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql --datadir=/data/mysqldb/3306/data

Mysql 5.7以後對密碼安全有更友好的提示了,
2018-03-03T15:16:23.708677Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.

--initialize-insecure 以空密碼初始化數據庫
--initialize          隨機生成一個密碼並顯示在屏幕中,第一次登錄的時候必須提供此密碼。

10.復制啟動服務腳本至/etc/init.d目錄

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

11.添加開機啟動

# chkconfig --add mysqld
# chkconfig mysqld on

#chkconfig --list mysqld
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

12.啟動mysql服務

#service mysqld start
Starting MySQL........                                     [  OK  ]

13.檢查確認

檢查3306端口是否開啟

#ss -ntl | grep 3306
LISTEN     0      50                        *:3306                     *:*

確認版本

#mysql -V
mysql  Ver 14.14 Distrib 5.7.21, for linux-glibc2.12 (x86_64) using  EditLine wrapper

14.進行安全配置

#/usr/local/mysql/bin/mysql_secure_installation

按提示操作即可
Press y|Y for Yes, any other key for No: y       > 沒有y就沒有下一步

There are three levels of password validation policy:                       > 列出密碼要求

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary 

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0                          > 選擇的數字,請參考上面的密碼要求
Please set the password for root here.

New password:                                                               > 設置密碼
Re-enter new password: 

Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y  > 更新密碼

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y    > 是否移除匿名登錄

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n   > 是否移除遠程root登錄,生產環境請y

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y  > 是否移除test數據庫,貌似二進制安裝時並不包含test數據庫

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y   > 重新加載權限表,也就是立即生效。
Success. 

All done! 

15.客戶端連接

#mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, 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 5.7.21 二進制方式安裝完畢,適合快速部署。

CentOS 6.9 自定義單實例 二進制方式 安裝mysql5.7.21