CentOS7下開啟防火牆 安裝mysql用yum安裝mysql(解決包依賴失敗的解決方法)
一.開啟防火牆:
CentOS7通過控制防火牆開啟埠很對TCP/IP協議訪問的操作很多,以前的OS版本也可以對iptables進行操作,現在OS7版本下不知道為什麼不行了。所以使用對firewalld進行操作。
1.firewall常用操作舉例
查詢狀態:# systemctl status firewalld啟動防火牆:# systemctl start firewalld停止防火牆:# systemctl stop firewalld啟用防火牆:# systemctl enable firewalld禁用防火牆:# systemctl disable firewalld檢視當前的開放埠:# firewall-cmd --zone=public --list-ports
新增埠到永久開放:# firewall-cmd --permanent --zone=public --add-port=XXXX/tcp --add-port=XXXXX/tcp
新增服務到永久開房:# firewall-cmd --permanent --zone=public --add-service=samba
重啟並更新配置:# firewall-cmd --reload
二.安裝mysql
第一步:解除安裝所有已經安裝的mysql
rpm -qa|grep -i mysql
查詢出的結果如果只有mysql-lib的包請忽略,如果沒有的話,繼續下面過程
用rpm -ev XXXXX(檔名)刪除上條命令中查到的所有檔案
如果解除安裝過程中遇到了
Failed dependencies:如下圖
那要根據提示先去解除安裝了它依賴的包。
有個簡單的方法:
find / -name mysql
查出一堆目錄的話,刪除上面的所有目錄
最後刪除my.cnf
使用下面指令
rm -rf /etc/my.cnf第二步下載yum安裝包,如果沒有yum,自行安裝具體可百度谷歌
方便起見,使用wget下載
cd進你想要下載到的目錄裡面:
cd /homewget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64這是原來的思路- -後來發現,你不論如何下載,其實結果就是一樣的。因為他預設下載了最新版本的mysql,版本越新越不穩定,我們還是偏好不老不新的版本。
所以,這裡應該用官網的方法
首先去http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64下載你所需要的包:
然後執行
sudo yum localinstall mysql57-community-release-el7-{version-number}.noarch.rpm
version-number填成你的版本號,切記el7不要變成el6,這樣是版本不一致的,el6是針對centos6的。
然後查詢mysql的安裝源
shell> yum repolist all | grep mysql
如圖,你的可能不是這樣的,我們要安裝57,所以要把除57版本的mysql全部禁用,並開啟57版本。
比如下面的命令
sudo yum-config-manager --disable mysql56-community
禁用56版本
sudo yum-config-manager --enable mysql57-community
開啟57版本
當然你如果有dnf的話也可以用 sudo dnf config-manager之類的進行同樣的操作,結果是一樣的
三.檢視mysql源的可用性
yum repolist enabled | grep mysql
四安裝mysql
shell> sudo yum install mysql-community-server
開啟mysql
sudo service mysqld start
(這裡注意之前先開啟3306埠的防火牆,見上面的防火牆)
三.修改mysql的密碼:
安裝完成後是有一個預設的root登陸密碼的
這裡我們先使用下面命令
grep "password" /var/log/mysqld.log出現了上面的介面,我們可以看到一個密碼。這就是臨時密碼,複製該密碼
然後mysql -u root -p
輸入密碼中輸入你剛才複製的密碼
然後設定新的密碼
SETPASSWORDFOR'root'@'localhost' = PASSWORD('newpass');
如果出現了ERROR 1819
這個錯誤其實是由於validate_password_policy的設定,這個值預設是1的,要求你設定的密碼比如符合相應長度並且含有數字,小寫大寫字母和特殊字元
所以設定該值為0
setglobal validate_password_policy=0;
這樣再去修改密碼長度限制
set global validate_password_length=4;
再去修改上面的密碼即可。
然後退出mysql,重啟mysql即可
四.設定mysql的字符集為UTF-8
1.修改my.cnf
vim /etc/my.cnf
2.在mysqld的部分新增
character-set-server=utf83.在末尾新增client欄位
[client]default-character-set=utf84.登陸mysql檢視字元
show variables like "%character%";觀察
然後是設定遠端連線資料庫
顯示登陸mysql
mysql -u root -p
輸入密碼
use mysql
select User,Host from user
然後修改Host
UPDATE user SET host='%' where user='root';select User, Host from user;五。設定開機自啟動
chkconfig --list | grep mysqld現在可見是off的,開啟開機啟動
chkconfig mysqld on即可。