Mysql5進級到Mysql5.5的辦法。本站提示廣大學習愛好者:(Mysql5進級到Mysql5.5的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是Mysql5進級到Mysql5.5的辦法正文
裝置5.5依附裝置包
代碼以下
yum install -y autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* openssl*
裝置cmake
代碼以下
yum install -y cmake
在進級前,建議先將之前5.1的mysql及數據庫目次備份一下
停滯失落mysql
代碼以下
service mysql stop
進級mysql 5.5.36
代碼以下
http://download.csdn.net/download/cike121272604/6943279 tar xf mysql-5.5.36.tar.gz cd mysql-5.5.36 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/var -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_USER=mysql -DEXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 make && make install
刪除/etc/下的my.cnf設置裝備擺設文件
代碼以下
rm -rf /etc/my.cnf
拷貝5.5的設置裝備擺設文件
代碼以下
cp support-files/my-huge.cnf /etc/my.cnf
測驗考試啟動一下
代碼以下
service mysql start
履行更新法式偏重啟mysql
代碼以下
/usr/local/mysql/bin/mysql_upgrade
假如一路OK就沒事兒,但如果出了毛病,請參考我別的一篇文章 mysql5.5進級進程中mysql_upgrade掉敗的成績
檢查下如今的mysql版本
代碼以下
cat mysql_upgrade_info
好了,進級任務完成。
再附進級掉敗成績處理
在進級mysql5.5進程中,履行/usr/local/mysql/bin/mysql_upgrade
提醒:
代碼以下
Looking for 'mysql' in: /usr/local/mysql/bin/mysql Looking for 'mysqlcheck' in: /usr/local/mysql/bin/mysqlcheck Running 'mysqlcheck'... /usr/local/mysql/bin/mysqlcheck: Got error: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FOR UPGRADE' at line 1 when executing 'CHECK TABLE ... FOR UPGRADE' FATAL ERROR: Upgrade failed
想起之前5.1似乎是有暗碼的!這兒換種方法測驗考試
代碼以下
/usr/local/mysql/bin/mysql_upgrade -S /var/data/mysql.sock -uroot -p
這個也不可了,忽然想到出奇招,照樣應用5.5的二進制法式,然後更改啟動參數,由於我只想要把data目次下的表構造進級罷了,必需指定的參數只是data目次,因而我做了以下測驗考試
# 啟用 --skip-grant-tables參數避開檢討,先啟動再說
代碼以下
/usr/local/mysql/bin/mysqld --datadir=/usr/local/mysql/var/ --user=mysql --skip-grant-tables &
# 看上去勝利了
# 中央報了一些innodb的毛病,不去理睬,應當是設置裝備擺設或是這個半陰半陽狀況下成績,這個今後再處理
# 接上去停滯這個辦事 mysqladmin shutdown 之,然後以正常參數啟動mysqld辦事…… 修正些my.cnf中的設置裝備擺設參數,以合適mysql5.5
一句話總結:
代碼以下
/usr/local/mysql/bin/mysqld --datadir=/usr/local/mysql/var/ --user=mysql --skip-grant-tables &