Linux CentOS安裝配置MySQL資料庫
安裝mysql資料庫
a)下載mysql源安裝包:wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
b)安裝mysql源:yum localinstall mysql57-community-release-el7-8.noarch.rpm
若結尾出現complete!,則說明MySQL源安裝完成
c)檢測是否安裝完成:yum repolist enabled | grep "mysql.*-community.*"
d)安裝mysql:yum install mysql-community-server
若結尾出現Complete!, 則MySQL安裝完成
e)設定開啟啟動mysql服務:systemctl enable mysqld
f)檢視安裝的mysql版本:rpm -aq | grep -i mysql
g)啟動MySQL服務:systemctl restart mysqld
h)檢視MySQL初始密碼:grep 'A temporary password' /var/log/mysqld.log
i)更改MySQL密碼:mysqladmin -u root -p'舊密碼' password '新密碼'
這裡更改密碼出了問題,更改失敗,這是因為密碼太過簡單的原因。有兩個接解決方法:
方法一:把密碼設定複雜點(這是最直接的方法)
方法二:關閉mysql密碼強度驗證(validate_password)
編輯配置檔案:vim /etc/my.cnf, 增加這麼一行validate_password=off
編輯後重啟mysql服務:systemctl restart mysqld
j)設定mysql能夠遠端訪問:
配置防火牆 防火牆的3306埠預設沒有開啟,若要遠端訪問,需要開啟這個埠
開啟/etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下新增:
-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT 然後儲存,並關閉該檔案,在終端內執行下面的命令,重新整理防火牆配置:
service iptables restart OK,一切配置完畢,你可以訪問你的MySQL了~
注意:
CentOS 7中預設使用Firewalld做防火牆,所以修改iptables後,在重啟系統後,根本不管用。
Firewalld中新增埠方法如下:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
登入進MySQL:mysql -uroot -p密碼
增加一個使用者給予訪問許可權:grant all privileges on *.* to 'root'@'ip地址' identified by '密碼' with grant option; //可將ip改為%%,表示開啟所有的
重新整理許可權:flush privileges;
OK,我本地連線試下。