程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> centOs下升級mysql

centOs下升級mysql

編輯:MySQL綜合教程

centOs下升級mysql


前言:今天在centOS上將mysql版本由5.1升級到5.7的時候出現了各種問題,不過經過一步步的調查解決了問題,下面就記錄一下過程,其中經歷了很多次的卸載和刪除,在這次記錄的過程中,我就按照最後成功的一次順序來記錄,對於其中可能出現的一些錯誤會做特殊的說明。

1.下載Linux的5.7版本,主要需要兩個文件

MySQL-server-5.7.4_m14-1.el6.x86_64.rpm
 MySQL-client-5.7.4_m14-1.el6.x86_64.rpm

2.備份數據庫文件

mysqldump -uxxx -pxx databasename > databasename.sql

3.停止mysql服務

service mysql stop

4.剛開始使用的yum安裝的,使用以下語句進行卸載
yum remove mysql*
5.然後刪除mysql舊版本已經存在的文件或者數據,不然mysql在重新安裝後會出現各種糾結的問題。

find / -name mysql
ps -ef | grep -i mysql

rm -rf mysql****
kill -9 mysqlid
注意/usr/bin、/usr/share/、/var/lib下有很多mysql開頭的文件,都刪除掉,還有刪除/etc目錄下的my.cnf文件
6.如果你是rpm安裝的,可以通過以下命令進行刪除
rpm -qa | grep -i name
rpm -e mysqlxxxxx
7.卸載刪除干淨後,再使用以下命令對下載的server和client進行安裝
rpm -ivh mysqlxxx
8.我將my.cnf中的一部分進行了優化,按照我們的項目需要做了調整,拿出來做為參照
 [mysqld]
  2 datadir=/var/lib/mysql
  3 socket=/var/lib/mysql/mysql.sock
  4 #user=mysql
  5 
  6 # Disabling symbolic-links is recommended to prevent assorted security risks
  7 symbolic-links=0
  8 #設置2進制日志文件目錄
  9 log-bin=mysql-bin
#10行不設置的話,會報一個莫名的錯誤
 10 server-id=1
 11 #指定索引的緩沖區大小,4G內存下設置256或者384合適
 12 key_buffer_size = 256M
 13 #每打開一個表,都會讀入數據到table_open_cache中,
 14 table_open_cache = 256
 15 #用於ORDER BY時的緩沖大小,是針對的每個連接,所以不能太大
 16 sort_buffer_size = 256K
 17 #對表進行順序掃描的請求
 18 read_buffer_size = 256K
 19 #任意順序讀取行時
 20 read_rnd_buffer_size = 512K
 21 #查詢到內容向網絡傳輸時
 22 net_buffer_length = 8K
 23 #保存在緩存中的線程數量,
 24 thread_cache_size = 20
 25 ##由於項目中一些表的增刪改相對比較頻繁,但是查詢也占據了很大的一部分,還需要項目運行後觀察一段時間
 26 query_cache_size= 8M
 27 # 和cpu的核心數有2倍的關系,我使用的是雲服務器,設置這個參數後就啟動不起來了
 28 #thread_concurrency = 12
 29 
 30 #提交事務後數據寫入磁盤的時間點,設置為2可以對沒有強烈的安全要求機制下,對速度提高很大
 31 innodb_flush_log_at_trx_commit = 2
 32 
 33 #如果使用mysql命令登錄客戶端的時候報權限錯誤或者密碼的錯誤,可以通過開啟標記跳過驗證,直接通過mysql進行連接,然後再修改用戶名權限
 34 #skip-grant-tables
 35 
 36 [mysqld_safe]
 37 log-error=/var/log/mysqld.log
 38 pid-file=/var/run/mysqld/mysqld.pid
9.在安裝的過程中出現了mysql error 1524錯誤,沒有找出來是什麼原因,可以通過設置skip-grant-tables跳過錯誤,然後又出現了error 1045(28000)錯誤,我把8步驟中的user=mysql注釋掉了,這個過程中還出現了其他一些錯誤,暫時記不起來了,然後通過以上的設置後,再重啟mysql服務後,就可以通過mysql -uxxx -pxx進行登錄了,然後又出現了一個問題error 1820,然後查資料說通過以下操作進行實現
mysql> create database ttt;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> set password = password("root");
Query OK, 0 rows affected (0.00 sec)

10.ok,終於正常了,然後通過source命令把sql文件導入。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved