CentOS 7 官方y(tǒng)um庫安裝 MySQL

問題描述:

CentOS 7 之后的版本使用yum安裝MySQL是默認安裝miroadb,為了開發(fā)方便,想依然使用MySQL,就Google了一下,經(jīng)過幾個小時的努力,解決了一切問題。


1. 創(chuàng)建MySQL的yum庫,通過官方y(tǒng)um庫下載

選擇最新的MySQL源rpm包下載:

image.png

或者通過 wget命令(最新下載地址可自己通過官網(wǎng)獲?。?p>

# 下載mysql源安裝包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# 安裝mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
# 檢查MySQL源是否安裝成功
yum repolist enabled | grep "mysql.*-community.*"

2. 安裝 MySQL

  • 通過修改 /etc/yum.repos.d/mysql-community.repo 文件來改變默認安裝版本,該文件是一個指定子資源的入口。
    例如,如果需要啟用 5.6 版本的源,就需要將如下所示的 5.6 版本源設(shè)置為 enabled=1 并將5.7版本源設(shè)置為 enabled=0。若安裝其他如5.5版本,操作類似:
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=1   ### 啟用5.6版本源
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=0    ### 禁用5.7版本源
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
  • 安裝MySQL:
yum install mysql-community-server
  • 啟動MySQL服務(wù):
systemctl start mysqld
# 或者
service mysqld start

注意:在5.7版本的MySQL啟動時,因為數(shù)據(jù)目錄是空的,所以會有以下操作:

服務(wù)器初始化
在數(shù)據(jù)目錄生成一個SSL證書和key文件
validate_password 插件安裝并啟用
創(chuàng)建一個超級管理帳號'root'@'localhost'。管理的密碼會保存在錯誤日志文件中,可以通過以下命令查看:

$ sudo grep 'temporary password' /var/log/mysqld.log

可以通過以下命令并使用自動生成的臨時密碼登錄,然后修改為一個自定義密碼:

$ mysql -u root -p 

密碼修改:

### 在MySQL中:
$ ALTER USER 'root'@'localhost' IDENTIFIED BY 'newPassword';   
### 上面的方法嘗試失敗,所以我通過了下面的方法:
### 在Linux中:
mysqladmin -u root password 'newPassword'
### 提示W(wǎng)arning: Using a password on the command line interface can be insecure,可忽略,也可自己查查問題,應(yīng)該是因為密碼簡單等小問題出現(xiàn)的。

MySQL的validate_password插件是默認安裝的。這要求MySQL密碼至少包含一個大寫字母、一個小寫字母、一個數(shù)字和一個特殊字符,并且總密碼長度至少為8個字符。

  • 查看MySQL運行狀態(tài):
    service mysqld status

3. 其他設(shè)置與優(yōu)化

默認配置文件路徑:

配置文件: /etc/my.cnf
日志文件: /var/log//var/log/mysqld.log
服務(wù)啟動腳本: /usr/lib/systemd/system/mysqld.service
socket文件: /var/run/mysqld/mysqld.pid

設(shè)置開機啟動

systemctl enable mysqld
systemctl daemon-reload

修改root默認密碼

有些版本MySQL安裝完成之后,在 /var/log/mysqld.log 文件中給root生成了一個默認密碼。通過下面的方式找到root默認密碼,然后登錄mysql進行修改:

grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
# 進入MySQL
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
# 或者
mysql> set password for 'root'@'localhost'=password('MyNewPass4!'); 

關(guān)于密碼

  • 通過msyql環(huán)境變量可以查看密碼策略的相關(guān)信息:
mysql> show variables like '%password%';
  • 在/etc/my.cnf文件添加validate_password_policy配置,指定密碼策略
# 選擇0(LOW),1(MEDIUM),2(STRONG)其中一種,選擇2需要提供密碼字典文件
validate_password_policy=0
  • 如果不需要密碼策略,添加my.cnf文件中添加如下配置禁用即可:
validate_password = off
# 重啟MySQL服務(wù)生效
systemctl restart mysqld

添加遠程登錄訪問用戶

默認只允許root帳戶在本地登錄,如果要在其它機器上連接mysql,必須修改root允許遠程連接,或者添加一個允許遠程連接的帳戶,為了安全起見,我添加一個新的帳戶:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'yangxin'@'%' IDENTIFIED BY 'Yangxin0917!' WITH GRANT OPTION;

配置默認編碼為utf8

修改/etc/my.cnf配置文件,在[mysqld]下添加編碼配置,如下所示:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容