centOS 6.5下升級mysql,從5.1升級到5.7
1、備份數據庫,升級MySQL通常不會丟失數據,但保險起見,我們需要做這一步。輸入命令:
mysqldump -u xxx -h xxx -P 3306 -p --all-databases > databases.sql
2、 停止MySQL服務,輸入命令:
service mysqld stop
3、 卸載舊版MySQL,輸入命令:
yum remove mysql mysql-*
執行過程中會詢問你是否移除,此時輸入“Y”
查看已安裝的軟件:rpm -qa¦grep mysql
卸載mysql:yum remove mysql mysql-server mysql-libs compat-mysql51
4、 移除命令執行後,可再看看是否有殘餘的mysql,輸入命令:
yum list installed | grep mysql
如果有,可輸入命令刪除:
yum remove mysql-libs
5、 下載安裝最新的rpm文件。
這步要看你需要什麼文件,我安裝的是:mysql57-community-release-el6-7.noarch.rpm(如果提前得到了這個文件,第6步可以使用yum localinstall
mysql57-community-release-el6-7.noarch.rpm從本地安裝)
rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
6、 安裝MySQL,輸入命令(過程中問詢是否yes,一路y下去):
yum install mysql-community-server
7、 安裝完成後,輸入命令查看MySQL版本號:
mysql -V
8 、 啓動MySQL,輸入命令:
service mysqld start
第一次啓動比較慢,因爲它會自己做初始化,耐心等待即可。如果啓動失敗,提示“MySQL Daemon failed to start”,可以嘗試先初始化mysql,輸入命令:mysqld --initialize。如果初始化提示:2015-12-22T07:49:45.386095Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2015-12-22T07:49:45.388125Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2015-12-22T07:49:45.388153Z 0 [ERROR] Aborting說明數據文件夾已被創建,直接刪除,讓mysql自己創建即可,輸入命令:rm -rf /var/lib/mysql刪除後,注意:然後不需要再初始化了,直接啓動mysql,它會自己初始化,輸入命令:
service mysqld start
9、進入mysql後,第一件事件就是要你改默認密碼。mysql 5.7以後,系統自動生成隨機的密碼,我操作時,沒登錄上,切換mysql到安全模式啓動,自己去修改即可(安全模式修改密碼,見另一篇文章:MySQL忘記密碼,或:root密碼重置報錯:mysqladmin: connect to server at 'localhost' failed的解決方案)。
[root@c12 mysql57]# ./bin/mysql -u root -p
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user root identified by 'root';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
使用mysqladmin總算能改了
[root@c12 mysql57]# ./bin/mysqladmin -u root -p password
Enter password:
New password:
Confirm new password:
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.8-rc |
+-----------+
1 row in set (0.00 sec)
10、設置mysql爲開機啓動
chkconfig --list 顯示服務列表
如果看到mysqld的服務,並且3,4,5都是on的話則成功,如果是off,則鍵入
chkconfig --level 345 mysqld on
reboot重啓電腦
netstat -na | grep 3306,如果看到有監聽說明服務啓動了。也可以用:service mysqld status看狀態
轉自:https://www.cnblogs.com/vickygu2007/p/5066409.html