日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
CentOS7上安裝MySQL并配置遠(yuǎn)程安全連接

介紹

mysql是由Oracle公司開(kāi)發(fā)的開(kāi)源SQL數(shù)據(jù)庫(kù)管理系統(tǒng)。

SQL代表結(jié)構(gòu)化查詢語(yǔ)言,它是用于訪問(wèn)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)化語(yǔ)言。 當(dāng)前版本的語(yǔ)言遵循SQL:2003標(biāo)準(zhǔn)。

MySQL是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)。 這意味著數(shù)據(jù)庫(kù)將數(shù)據(jù)存儲(chǔ)在單獨(dú)的表中,結(jié)構(gòu)被組織成為速度優(yōu)化的物理文件。 用戶使用SQL來(lái)設(shè)置管理不同數(shù)據(jù)字段之間關(guān)系的規(guī)則。

安裝 MySQL

# yum localinstall -y https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

該命令將添加可以用于安裝數(shù)據(jù)庫(kù)系統(tǒng)的MySQL存儲(chǔ)庫(kù):

# yum install -y mysql-community-server

在安裝過(guò)程結(jié)束時(shí),使用systemd工具啟動(dòng)MySQL:

# systemctl start mysqld

檢查MySQL狀態(tài):

mysqld.service - MySQL Server
 Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
 Active: active (running) ...

MySQL可以通過(guò)執(zhí)行netstat工具看到3306端口,

# netstat -plntu | grep mysql
tcp6 0 0 :::3306 :::* LISTEN 8776/mysqld

MySQL配置

在MySQL服務(wù)器的初始啟動(dòng)時(shí),將創(chuàng)建一個(gè)超級(jí)用戶帳戶('root'@'localhost),并將默認(rèn)密碼設(shè)置并存儲(chǔ)在錯(cuò)誤日志文件中。 通過(guò)執(zhí)行以下命令顯示此密碼:

# grep 'temporary password' /var/log/mysqld.log

輸出為:

[Note] A temporary password is generated for root@localhost: en>_g6syXIXq

第一步是更改root密碼。

登錄到MySQL shell:

# mysql -u root -p

輸入使用上一個(gè)命令顯示的自動(dòng)生成的密碼。

接下來(lái),使用以下查詢更改密碼:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'RootStrongPassword1!';

刷新權(quán)限并退出:

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> EXIT;
Bye

為MySQL啟用SSL

注意:在生產(chǎn)中,始終使用更安全和“personal”的證書(shū)。

從MySQL shell檢查SSL。

# mysql -u root -p

mysql> SHOW GLOBAL VARIABLES LIKE '%ssl%';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| have_openssl  | YES             |
| have_ssl      | YES             |
| ssl_ca        | ca.pem          |
| ssl_capath    |                 |
| ssl_cert      | server-cert.pem |
| ssl_cipher    |                 |
| ssl_crl       |                 |
| ssl_crlpath   |                 |
| ssl_key       | server-key.pem  |
+---------------+-----------------+
9 rows in set (0.01 sec)

檢查SSL狀態(tài):

mysql> STATUS;
--------------
mysql Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using EditLine wrapper

Connection id: 4
Current database: 
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.7.18 MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 27 min 25 sec

Threads: 1 Questions: 12 Slow queries: 0 Opens: 113 Flush tables: 1 Open tables: 106 Queries per second avg: 0.007
--------------

如您所見(jiàn),SSL沒(méi)有被使用。 所以,下一步是啟用它。

在MySQL配置文件中啟用SSL

編輯MySQL配置文件:

# $EDITOR /etc/my.cnf

在[mysqld]部分,粘貼以下內(nèi)容:

ssl-ca=/var/lib/mysql/ca.pem
ssl-cert=/var/lib/mysql/server-cert.pem
ssl-key=/var/lib/mysql/server-key.pem

保存,退出并重啟MySQL服務(wù)。

# systemctl restart mysqld

再次檢查MySQL shell中的SSL狀態(tài)。

# mysql -u root -p

mysql> STATUS;
mysql Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using EditLine wrapper

Connection id: 5
Current database: 
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.7.18 MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 1 min 2 sec

Threads: 1 Questions: 6 Slow queries: 0 Opens: 105 Flush tables: 1 Open tables: 98 Queries per second avg: 0.096

啟用客戶端

此時(shí)尚未使用SSL。 這是因?yàn)槲覀冃枰ㄟ^(guò)SSL強(qiáng)制所有的客戶端連接。 所以,退出MySQL shell并再次編輯my.cnf文件。

# $EDITOR /etc/my.cnf

在文件末尾粘貼以下內(nèi)容:

[client]
ssl-ca=/var/lib/mysql/ca.pem
ssl-cert=/var/lib/mysql/client-cert.pem
ssl-key=/var/lib/mysql/client-key.pem

再次保存,退出并重新啟動(dòng)MySQL:

# systemctl restart mysqld

檢查MySQL狀態(tài)如上所述:

mysql> STATUS
--------------
mysql Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using EditLine wrapper

Connection id: 3
Current database: 
Current user: root@localhost
SSL: Cipher in use is DHE-RSA-AES256-SHA
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.7.18 MySQL Community Server (GPL)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 1 min 32 sec

Threads: 1 Questions: 6 Slow queries: 0 Opens: 105 Flush tables: 1 Open tables: 98 Queries per second avg: 0.065
現(xiàn)在啟用,連接通過(guò)它進(jìn)行保護(hù)。

啟用遠(yuǎn)程連接

編輯MySQL配置文件:

# $EDITOR /etc/my.cnf

在[mysqld]部分的末尾粘貼以下行:

bind-address = *
require_secure_transport = ON

保存,退出并重啟MySQL。

# systemctl restart mysqld

為遠(yuǎn)程連接創(chuàng)建新用戶

此時(shí),SSL和遠(yuǎn)程連接已啟用。 接下來(lái)要做的是創(chuàng)建一個(gè)新的MySQL用戶:

# mysql -u root -p

創(chuàng)建一個(gè)新用戶:

mysql> CREATE USER 'gmolica'@'%' IDENTIFIED BY 'Unixmen1!' REQUIRE X509;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'gmolica'@'%' IDENTIFIED BY 'Unixmen1!' REQUIRE X509;
mysql> FLUSH PRIVILEGES;
mysql> EXIT;

總結(jié)

通過(guò)上一步,我們已經(jīng)為MySQL配置好了。 現(xiàn)在,可以使用創(chuàng)建的憑據(jù)遠(yuǎn)程登錄數(shù)據(jù)庫(kù)系統(tǒng)。 當(dāng)然,客戶端必須具有證書(shū)副本才能通過(guò)SSL連接。


新聞名稱(chēng):CentOS7上安裝MySQL并配置遠(yuǎn)程安全連接
本文來(lái)源:http://www.dlmjj.cn/article/dhhsdjc.html