centOs下升級mysql,centOs升級mysql

來源:互聯網
上載者:User

centOs下升級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 mysqlps -ef | grep -i mysqlrm -rf mysql****kill -9 mysqlid
注意/usr/bin、/usr/share/、/var/lib下有很多mysql開頭的檔案,都刪除掉,還有刪除/etc目錄下的my.cnf檔案
6.如果你是rpm安裝的,可以通過以下命令進行刪除
rpm -qa | grep -i namerpm -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 statementmysql> set password = password("root");Query OK, 0 rows affected (0.00 sec)

10.ok,終於正常了,然後通過source命令把sql檔案匯入。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.