手把手教你部署一套生產(chǎn)級的MySQL數(shù)據(jù)庫
一、摘要
實際的軟件項目開發(fā)過程中,不可避免的需要用到關(guān)系型數(shù)據(jù)庫,比較主流的關(guān)系型數(shù)據(jù)庫有 mysql、oracle、sql server、postgresql、db2 等等,當然目前最主流的數(shù)據(jù)庫非 mysql 莫屬,相比其他數(shù)據(jù)庫,mysql 性能可靠,使用簡單,而且開源免費。
在我們平時開發(fā)的時候,以個人 windows 操作系統(tǒng)為例,我們只需要下載一個 mysql 的安裝包,然后傻瓜式的安裝就可投入使用,但是實際上生產(chǎn)環(huán)境往往不是 windows 系統(tǒng),而是 centos 系統(tǒng)。
那么在 CentOS 系統(tǒng)中,我們應該如何安裝一款 Mysql 數(shù)據(jù)庫呢?
今天我們就一起來了解一下如何在 centos 操作系統(tǒng)上安裝一款生產(chǎn)級的 mysql 數(shù)據(jù)庫,希望能幫助到大家!
鑒于目前最主流的項目部署環(huán)境,本次選型的操作系統(tǒng)版本號和 mysql 版本號如下:
- CentOS 操作系統(tǒng)版本號:7.6
- Mysql 操作系統(tǒng)版本號:5.7.38
具體安裝實施步驟如下!
二、實施流程
2.1下載 MySQL5.7 的 rpm 安裝包
訪問https://dev.mysql.com/downloads/?mysql 官方社區(qū)版本的下載地址,選擇MySQL Community Server,按照下面的步驟依次操作。
2.2卸載已安裝的MySQL(如果沒安裝過,可以跳過)
檢查是否有安裝過 mysql;
#輸入如下命令,檢查是否安裝了mysql
rpm -qa |grep mysql
按照順序,依次卸載服務;
#卸載之前請先關(guān)閉 mysql 服務,命令如下
systemctl stop mysqld
#依次卸載相關(guān)服務
rpm -e --nodeps mysql-community-server
rpm -e --nodeps mysql-community-client
rpm -e --nodeps mysql-community-libs
rpm -e --nodeps mysql-community-common
清理依賴的文件;
#刪除數(shù)據(jù)庫配置文件
rm -rf /etc/my.cnf
#刪除數(shù)據(jù)庫數(shù)據(jù)文件
rm -rf /var/lib/mysql
#刪除日志臨時文件
rm -rf /var/log/mysqld.log
2.3MySQL 安裝環(huán)境準備
檢查是否安裝了mariadb,如果已安裝,需要卸載;
CentOS7 版本默認是已安裝 mariadb,CentOS6 本本默認是已安裝 Mysql,可以安裝上面步驟卸載。
#輸入如下命令,檢查是否安裝了mariadb
rpm -qa | grep mariadb
如果出現(xiàn)如下信息,表示已安裝 mariadb,可以安裝下面步驟進行卸載。
#卸載mariadb
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
#再次檢查,是否已經(jīng)mariadb,如果沒有,表示卸載完畢
rpm -qa | grep mariadb
安裝軟件包所需的依賴;
一般都是最新版了,以防萬一后面安裝出錯,缺少依賴;
yum install libaio -y
yum install net-tools -y
2.4安裝 MySQL 軟件包
將上文中下載的軟件包,上傳到 CentOS 服務器某個文件夾下。
當然,你還可以直接使用wget命令直接在服務器端下載文件,操作步驟如下:
#安裝wget命令
yum install wget
#下載server 包
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-server-5.7.38-1.el7.x86_64.rpm
#下載client 包
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-client-5.7.38-1.el7.x86_64.rpm
#下載common 包
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-common-5.7.38-1.el7.x86_64.rpm
#下載libs 包
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-libs-5.7.38-1.el7.x86_64.rpm
文件上傳到服務器或者下載到服務器磁盤上之后,我們就可以對 Mysql 進行安裝了。
安裝時必須嚴格遵守安裝順序,依賴關(guān)系依次為common → libs → client → server。
#安裝步驟如下:
rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.37-1.el7.x86_64.rpm
命令說明:ivh?中, i?表示install?安裝;v?表示verbose?進度條;h?表示hash哈希校驗。
以上 rpm 包安裝完成之后,輸入如下命令,可查詢安裝的 MySQL 版本。
mysqladmin --version
2.5啟停及查詢服務狀態(tài)
查詢 MySQL 系統(tǒng)的狀態(tài);
systemctl status mysqld
啟動 MySQL 數(shù)據(jù)庫;
systemctl start mysqld
關(guān)閉 MySQL 數(shù)據(jù)庫;
systemctl stop mysqld
重啟 MySQL 數(shù)據(jù)庫;
systemctl restart mysqld
設置開機啟動。
systemctl enable mysqld
# 重載所有修改過的配置文件
systemctl daemon-reload
2.6登錄 MySQL 并修改配置
在 MySQL5.7.4 之前的版本中默認是沒有密碼的,登錄后直接回車就可以進入數(shù)據(jù)庫,在里面進行設置密碼等操作。其后版本對密碼等安全相關(guān)操作進行了一些改變,在安裝過程中,會在安裝日志中生成一個臨時密碼,通過臨時密碼進入之后進行再進行修改。
1.獲取數(shù)據(jù)庫的臨時密碼命令如下:
grep 'temporary password' /var/log/mysqld.log
2.使用臨時密碼登錄;
#輸入如下命令回車,然后粘貼臨時密碼,再回車
mysql -uroot -p
操作類似如下圖:
3.修改 root 賬戶密碼
輸入如下命令,修改root賬戶密碼;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
以后,如果想要修改密碼,可以通過如下命令實現(xiàn)。
mysql> use mysql;
mysql> update user set password=PASSWORD('new_password') where user='root';
mysql> flush privileges;
注意:mysql 5.7 默認安裝了密碼安全檢查插件(validate_password),默認密碼檢查策略要求密碼必須包含:大小寫字母、數(shù)字和特殊符號,并且長度不能少于8位。否則會提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 錯誤。
具體可以查看 MySQL 官網(wǎng)密碼詳細策略。
4.添加遠程登錄用戶
默認只允許root帳戶在本地登錄,如果要在其它機器上連接 mysql,必須添加一個允許遠程連接的帳戶,或者修改 root 為允許遠程連接。
添加一個允許遠程連接的帳戶,方式如下:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'zhangsan'@'%' IDENTIFIED BY 'Zhangsan2018!' WITH GRANT OPTION;
修改 root 為允許遠程連接,方式如下(不推薦):
mysql> use mysql;
mysql> UPDATE user SET Host='%' WHERE User='root';
mysql> flush privileges;
最后,使用客戶端,輸入服務器 IP、賬戶、密碼,即可登錄 MYSQL 數(shù)據(jù)庫!
5.設置默認編碼為 utf8(非必需,可以跳過)
mysql 安裝后默認不支持中文,需要修改編碼。
修改/etc/my.cnf配置文件,在相關(guān)節(jié)點(沒有則自行添加)下添加編碼配置,如下:
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
最后,重啟 mysql 服務,查詢編碼,可以看到已經(jīng)改過來了。
shell> systemctl restart mysqld
shell> mysql -uroot -p
mysql> show variables like 'character%';
默認配置文件路徑如下:
- 配置文件:/etc/my.cnf
- 日志文件:/var/log/var/log/mysqld.log
- 服務啟動腳本:/usr/lib/systemd/system/mysqld.service
- socket文件:/var/run/mysqld/mysqld.pid
三、小結(jié)
本文主要圍繞如何在 CentOS 操作系統(tǒng)上安裝部署 Mysql 數(shù)據(jù)庫,希望能幫助到大家!