基礎(chǔ)環(huán)境:
操作系統(tǒng):centos 7.X
MySQL版本:5.7
一、yum源配置
1.配置阿里云源
配置官網(wǎng):http://mirrors.aliyun.com
2.源配置步驟
先檢查是否有安裝wget工具, 如果沒(méi)有,使用 " yum install -y wget " 安裝wget
- 備份源文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- 通過(guò)wget下載CentOS-Base.repo到/etc/yum.repos.d/,下載方式
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 運(yùn)行yum makecache生成緩存
yum makecache
二、MySQL數(shù)據(jù)庫(kù)安裝與設(shè)置
從CentOS 7開始,默認(rèn)安裝有社區(qū)版MariaDB,這個(gè)是MySQL的分支,根據(jù)實(shí)際需要,有時(shí)還是要在系統(tǒng)中安裝MySQL,而且安裝完成之后可以直接覆蓋掉MariaDB。
1.下載并安裝來(lái)自MySQL官方的 Yum Repository
使用以下的命令就直接下載了安裝用的MySQL Yum Repository了,然后就可以直接yum 本地安裝了。
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm[root@localhost ~]# yum -y localinstall mysql57-community-release-el7-10.noarch.rpm
準(zhǔn)備就緒就可以開始安裝MySQL服務(wù)器了,稍等片刻就安裝好。
[root@localhost ~]# yum -y install mysql-community-server2.啟動(dòng)MySQL
2.啟動(dòng)MySQL
首先啟動(dòng)MySQL
[root@localhost ~]# systemctl start mysqld.service
查看MySQL運(yùn)行狀態(tài)
[root@localhost ~]# systemctl status mysqld.service
登陸MySQL
此時(shí)MySQL已經(jīng)開始正常運(yùn)行,不過(guò)要想進(jìn)入MySQL還得先找出此時(shí)root用戶的密碼,通過(guò)如下命令可以在日志文件中找出密碼:
[root@localhost ~]# grep "password" /var/log/mysqld.log

在日志文件中找出MySQL root密碼
用如下命令進(jìn)入數(shù)據(jù)庫(kù),輸入初始密碼:
[root@localhost ~]# mysql -uroot -p
此時(shí)不能做任何事情,因?yàn)镸ySQL默認(rèn)必須修改密碼之后才能操作數(shù)據(jù)庫(kù),請(qǐng)用以下命令修改root密碼:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
這里有個(gè)問(wèn)題,新密碼設(shè)置的時(shí)候如果設(shè)置的過(guò)于簡(jiǎn)單會(huì)報(bào)錯(cuò):

密碼過(guò)于簡(jiǎn)單
原因是因?yàn)镸ySQL有密碼設(shè)置的規(guī)范,具體是與validate_password_policy的值有關(guān):

MySQL完整的初始密碼規(guī)則可以通過(guò)如下命令查看:

密碼的長(zhǎng)度是由validate_password_length決定的,而validate_password_length的計(jì)算公式是:
validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
MySQL初始情況下第一個(gè)的值是ON,validate_password_length是8。可以通過(guò)如下命令修改:
mysql> set global validate_password_policy=0;mysql> set global validate_password_length=1;
此時(shí)密碼就可以設(shè)置的很簡(jiǎn)單,例如123456之類的。此時(shí)再重新設(shè)置root密碼。
注意:在企業(yè)或生產(chǎn)上,請(qǐng)不要修改這些配置,一定要設(shè)置復(fù)雜的數(shù)據(jù)庫(kù)密碼,以免造成不必要的損失。

但此時(shí)還有一個(gè)問(wèn)題,就是因?yàn)榘惭b了Yum Repository,以后每次yum操作都會(huì)自動(dòng)更新,需要把這個(gè)卸載掉:
[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch
將MySQL設(shè)置成開機(jī)自啟動(dòng)
[root@localhost ~]# systemctl enable mysqld.service
此時(shí)MySQL安裝就完成了。
三、解決遠(yuǎn)程客戶端無(wú)法連接MySQL數(shù)據(jù)庫(kù)
1.關(guān)閉防火墻
[root@localhost ~]# systemctl stop firewalld.service[root@localhost ~]# systemctl disable firewalld.service
注意:企業(yè)中一般是放行端口,不要關(guān)閉防火墻,可以自行了解防火墻放行端口相關(guān)知識(shí)。
2.設(shè)置遠(yuǎn)程登陸
在本機(jī)登入mysql后,更改 “mysql” 數(shù)據(jù)庫(kù)里的 “user” 表里的 “host” 項(xiàng),從”localhost”改稱'%'。
mysql -u root -pmysql>use mysql;mysql>select host,user from user;mysql>update user set host = '%' where user ='root';mysql>flush privileges;mysql>select host,user from user;
注意:在企業(yè)中使用是放開指定 IP,不要設(shè)置成 %,如果放開外網(wǎng)會(huì)有被爆破的風(fēng)險(xiǎn)。
此時(shí)可以用數(shù)據(jù)庫(kù)連接工具連接了
