CentOS安裝MySQL
阿新 • • 發佈:2020-12-10
下載mysql yum包
官方下載地址:https://dev.mysql.com/downloads/repo/yum/
或者直接使用wget下載(注意:下載mysql需要有oracle賬號,oracle公司產品都需要oracle賬號才能下載)
下載自己需要的mysql版本就行,下載連線可以通過瀏覽器獲取
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
安裝軟體源
rpm -Uvh https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
安裝MySQL
yum install mysql-community-server
# 安裝過程中如果出現y/n的話就一直y就行了,如果嫌麻煩可以用下面這個命令來安裝
yum install -y mysql-community-server
注意:
如果yum命令報Another app is currently holding the yum lock; waiting for it to exit…
可以通過強制關掉yum程序:
rm -f /var/run/yum.pid
啟動&配置
# 啟動 service mysqld start # 檢視執行狀態 service mysqld status
看到綠色的running代表已經啟動成功,用紅色框標識出來的便是
然後mysql在5.6之後的版本都會預設生成一個預設密碼,是root使用者的。通過如下命令檢視密碼
grep 'temporary password' /var/log/mysqld.log
用紅色框標識出來的便是預設設定的密碼
進入MySQL
執行完如下命令之後輸入預設密碼
mysql -u root -p
修改密碼
由於MySQL8新提供了一種密碼加密方式caching-sha2-password,且為預設,目前很多客戶端都不支援,所以我們在建立新角色使用者的時候可以指定其為mysql_native_password,原來的root賬戶等不去做任何改變
8.0密碼策略要求密碼必須包含字母(大小寫都行),數字,特殊字元,密碼長度不能小於8
ALTER USER `root`@`localhost` IDENTIFIED BY '新密碼';
退出MySQL
exit
# 或者
quit
然後使用新密碼登入就行
建立使用者和分配許可權
建立使用者前必須修改root賬號預設密碼
# 建立一個test使用者(一般情況下root使用者只在本地環境下使用),密碼是29dIg;2^,資料庫的密碼最好設定得連自己都記不住。
CREATE USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '29dIg;2^';
# 授權資料庫給使用者,並設定所有ip都可以遠端連線
# 如果只授予使用者某些資料庫的話就把*.*改成 資料庫名稱.* 意思就是 資料庫.表
# 如果只授予使用者某些許可權的話,比如只能讀不能寫,就把GRANT ALL改成GRANT SELECT
GRANT ALL ON *.* TO 'test'@'%';
# 當然,你也可以撤銷授權,用法和授權幾乎都是一樣的。
REVOKE ALL ON *.* from 'test'@'%';
最後使設定立即生效
flush privileges;
注意:
安裝完後別忘了開放對應埠,一般是3306,阿里雲可以通過安全組開放,本地虛擬機器則通過防火牆命令開放
CentOS7.0以上預設使用firewall防火牆
# 查詢埠是否開放
firewall-cmd --query-port=3306/tcp
# 開放3306埠
firewall-cmd --permanent --add-port=3306/tcp
# 重啟防火牆(修改配置後要重啟防火牆)
firewall-cmd --reload
CentOS7.0以下使用iptables防火牆
# 開啟3306埠
vim /etc/sysconfig/iptables
# 加入如下程式碼(按i進入編輯模式)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
# 儲存退出後重啟防火牆 (按ESC輸入:wq按ENTER儲存退出)
service iptables restart