基礎環境:
操作系統:centos 7.X
MySQL版本:5.7
一、yum源配置
1.配置阿里云源
配置官網:http://mirrors.aliyun.com
2.源配置步驟
先檢查是否有安裝wget工具, 如果沒有,使用 " yum install -y wget " 安裝wget
- 備份源文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- 通過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
- 運行yum makecache生成緩存
yum makecache
二、MySQL數據庫安裝與設置
從CentOS 7開始,默認安裝有社區版MariaDB,這個是MySQL的分支,根據實際需要,有時還是要在系統中安裝MySQL,而且安裝完成之后可以直接覆蓋掉MariaDB。
1.下載并安裝來自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
準備就緒就可以開始安裝MySQL服務器了,稍等片刻就安裝好。
[root@localhost ~]# yum -y install mysql-community-server2.啟動MySQL
2.啟動MySQL
首先啟動MySQL
[root@localhost ~]# systemctl start mysqld.service
查看MySQL運行狀態
[root@localhost ~]# systemctl status mysqld.service
登陸MySQL
此時MySQL已經開始正常運行,不過要想進入MySQL還得先找出此時root用戶的密碼,通過如下命令可以在日志文件中找出密碼:
[root@localhost ~]# grep "password" /var/log/mysqld.log
在日志文件中找出MySQL root密碼
用如下命令進入數據庫,輸入初始密碼:
[root@localhost ~]# mysql -uroot -p
此時不能做任何事情,因為MySQL默認必須修改密碼之后才能操作數據庫,請用以下命令修改root密碼:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
這里有個問題,新密碼設置的時候如果設置的過于簡單會報錯:
密碼過于簡單
原因是因為MySQL有密碼設置的規范,具體是與validate_password_policy的值有關:
MySQL完整的初始密碼規則可以通過如下命令查看:
密碼的長度是由validate_password_length決定的,而validate_password_length的計算公式是:
validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
MySQL初始情況下第一個的值是ON,validate_password_length是8。可以通過如下命令修改:
mysql> set global validate_password_policy=0;mysql> set global validate_password_length=1;
此時密碼就可以設置的很簡單,例如123456之類的。此時再重新設置root密碼。
注意:在企業或生產上,請不要修改這些配置,一定要設置復雜的數據庫密碼,以免造成不必要的損失。
但此時還有一個問題,就是因為安裝了Yum Repository,以后每次yum操作都會自動更新,需要把這個卸載掉:
[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch
將MySQL設置成開機自啟動
[root@localhost ~]# systemctl enable mysqld.service
此時MySQL安裝就完成了。
三、解決遠程客戶端無法連接MySQL數據庫
1.關閉防火墻
[root@localhost ~]# systemctl stop firewalld.service[root@localhost ~]# systemctl disable firewalld.service
注意:企業中一般是放行端口,不要關閉防火墻,可以自行了解防火墻放行端口相關知識。
2.設置遠程登陸
在本機登入mysql后,更改 “mysql” 數據庫里的 “user” 表里的 “host” 項,從”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;
注意:在企業中使用是放開指定 IP,不要設置成 %,如果放開外網會有被爆破的風險。
此時可以用數據庫連接工具連接了