有時候會檢測到服務器有很多漏洞,而大部分漏洞都是由於服務的版本過低的原因,因為官網出現漏洞就會發布新版本來修復這個漏洞,所以一般情況下,我們只需要對相應的軟件包進行升級到安全版本即可。
通過查閱官網信息, Oracle MySQL Server遠程安全漏洞(CVE-2015-0411),受影響系統:
Oracle MySQL Server <= 5.6.21
Oracle MySQL Server <= 5.5.40
因此我們需要將mysql的版本升級到5.6.21之后,這里我們選擇5.6.35版本,下面開始升級。
一、備份並刪除原有的mysql包
mysqldump -u root -p --all-databases >/usr/databases.sql //先備份原有所有數據,防止數據丟失。 service mysql stop //停止mysql服務
service tomcat stop //停止tomca服務,防止在更新的時候有新數據進入丟失 yum remove mysql mysql-* //移除原有mysql服務 yum list installed | grep mysql //查看已經安裝的mysql服務 //如果有,可輸入命令刪除:yum remove mysql-libs
rpm -qa | grep -i mysql //如果有,可輸入命令刪除:rpm -e 【列表】
二、安裝5.6.35的mysql(兩種方式)
第一種(服務器能ping通百度,簡單方法): rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm yum -y install mysql-community-server
//依次輸入兩條命令,進行安裝升級,成功之后輸入mysql -V 看到版本即可
第二種(服務器不能ping通百度):
1.到http://mirrors.sohu.com/mysql/MySQL-5.6下載MySQL-5.6.35-1.linux_glibc2.5.x86_64.rpm-bundle.tar。
2.將其放到/usr目錄下並進入目錄:cd /usr
3.解壓:tar -xvf MySQL-5.6.35-1.linux_glibc2.5.x86_64.rpm-bundle.tar
4.安裝解壓出的RPM包,主要是下面四個
##Server包: [root@mysql ~]# rpm -ivh MySQL-server-5.6.35-1.linux_glibc2.5.x86_64.rpm ##Client包: [root@mysql ~]# rpm -ivh MySQL-client-5.6.35-1.linux_glibc2.5.x86_64.rpm ##庫函數包: [root@mysql ~]# rpm -ivh MySQL-devel-5.6.35-1.linux_glibc2.5.x86_64.rpm [root@mysql ~]# rpm -ivh MySQL-shared-5.6.35-1.linux_glibc2.5.x86_64.rpm
安裝完之后輸入mysql -V看到版本即可
三、mysql初始化:
1.啟動mysql,在第一次啟動的時候進行:service mysql start。
注:如果啟動的時候有關於PID的報錯,不能啟動。輸入命令 ps -ef|grep mysqld 。 看到有mysql服務,將mysql服務全部kill掉,命令 kill [進程ID],然后重新啟動即可。
2.停止mysql,進入安全模式修改密碼。
service mysql stop
/usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
/usr/local/mysql/bin/mysql -u root -p
use mysql;
update user set password=password("new_pass") where user="root";
flush privileges;
quit
3.重啟mysql,並運行sql腳本載入數據。
service mysqld restart
chkconfig --list //看到列表中mysql的3 4 5全是on即可,說明開機啟動,即可不用管。
mysql -u root -p
source /usr/databases.sql
到這里就完成了升級了~