mysql_upgrade命令


 

mysql 創建存儲過程失敗。
查看錯誤日志,發現如下信息:
********************************************************************************************************************************************************
110715  6:17:50 [ERROR] Incorrect definition of table mysql.proc: expected column 'comment' at position 15 to have type text, found 
type char(64).
********************************************************************************************************************************************************

由於數據庫是我中途接手的,估計為mysql版本問題,導致的 mysql庫里面相關的privilege表和mysql版本不兼容導致

查看當前mysql版本為 mysql5.5.8.
利用 mysql_upgrade 升級當前的mysql庫。
翻了下手冊:
********************************************************************************************************************************************************
mysql_upgrade executes the following commands to check and repair tables and to upgrade the system tables:
mysqlcheck --all-databases --check-upgrade --auto-repair mysql < fix_priv_tables mysqlcheck --all-databases --check-upgrade --fix-db-names --fix-table-names
********************************************************************************************************************************************************
由於數據量很大,處於謹慎考慮,決定只更新系統表,即mysql庫
#./bin/mysql_upgrade -u xxx -pxxx -S /tmp/mysql.sock --upgrade-system-tables
到mysql目錄下,查看mysql庫下面的系統表是否有更新,結果發現無。 奇怪

無奈,全部更新升級
#./bin/mysql_upgrade -u xxx -pxxx -S /tmp/mysql.sock 
再次到mysql目錄下,查看muysql庫下面的系統表的更新,成了。難道是bug,還是因為采用存儲有緩存的原因?待查

進入數據庫,查看表結構,無更改。
重新啟動數據庫,在查看proc表結構,已經更新了。
本次升級mysql庫的操作完成,且保留了所有的用戶權限。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM