本文目錄一覽:
- 1、如何升級linux系統的mysql
- 2、阿里雲伺服器linux 怎麼更新mysql
- 3、linux mysql 5.6 能升級5.7 嗎
- 4、Linux怎麼更新MySQL的版本
- 5、linux中mysql5升級到mysql5.5的方法
如何升級linux系統的mysql
一些MySQL發布對mysql資料庫中的系統表的結構進行了更改,添加了新許可權或特性。當你更新到新版本MySQL,你應同時更新系統表,以確保它們的結構最新。首先備份mysql資料庫,然後按照下面的程序操作。
在Unix或Unix類系統中,運行mysql_fix_privilege_tables腳本來更新系統表:
shell mysql_fix_privilege_tables
你必須在伺服器運行時執行該腳本。它試圖連接本機上用root運行的伺服器。如果root賬戶需要密碼,在命令行中按下述方法給出密碼:
shell mysql_fix_privilege_tables–password=root_password
mysql_fix_privilege_tables腳本可以執行將系統錶轉換為當前格式的任何動作。運行時你可能會看見一些Duplicate column name警告;你可以忽略它們。
運行完腳本後,停止伺服器並重啟。
在Windows系統中,MySQL分發包括mysql_fix_privilege_tables.sql SQL腳本,你可以用mysql客戶端來運行。例如,如果MySQL安裝到C:\Program Files\MySQL\MySQL Server 5.1,命令應為:
C:\
C:\Program Files\MySQL\MySQL Server 5.1
\bin\mysql -u root -p mysql
mysql SOURCE C:/Program Files/MySQL/MySQL Server
5.1/scripts/mysql_fix_privilege_tables.sql
如果安裝到其它目錄,相應地更改路徑名。
mysql命令將提示輸入root密碼;按照提示輸入密碼。
在Unix中,當mysql處理mysql_fix_privilege_tables.sql script腳本中的語句時,你可能會看見一些Duplicate column name警告;你可以忽略它們。
運行完腳本後,停止伺服器並重啟。
阿里雲伺服器linux 怎麼更新mysql
方法:
1)先輸入mysql -uroot -p 命令
2)輸入密碼登陸mysql
3)use mysql; //使用mysql庫
4)在輸入update mysql.user set password=PASSWORD(』123456789′) where User=』root』; 更新mysql密碼為:123456789
5)flush privileges ; //刷新庫
6)quit 退出mysql
linux mysql 5.6 能升級5.7 嗎
1. 下載 5.7.30 的 zip 包並解壓到新的目錄。
2. 安裝 Visual C++ 2012/2013(或更多版本)。
3. 停應用,停止 5.6 實例(可以通過停服務來操作,停止服務前建議記錄一下 GTID 或 binlog file 和 position 位置),刪除服務。
4. 備份一份 5.6 實例的 datadir,包括 binlog(整個目錄 copy 到別的目錄存放)。
5. 拷貝 5.6 實例的 datadir 和 my.ini 到 5.7 實例 basedir 目錄,調整並優化參數值(注意要確保路徑一致,確認已開啟 5.7 新特性相關參數,如增強半同步、MTS 等)。
6. 修改系統環境變數,把可執行路徑指向 5.7 實例的 basedir/bin。
7. 啟動 5.7 實例,創建服務並啟動。
8. 驗證服務端、客戶端版本是否正確。
9. 確認無誤後,執行 mysql_upgrade 升級數據字典(會升級系統庫:mysql,ps,sys,沒有會重建)。
10. 重啟實例。
11. 再次校驗 5.7 的參數,盡量保持與 5.6 的兼容,尤其要注意 sql_mode 的默認值對業務的影響。
12. 清理 5.6 實例的 basedir 和 datadir 目錄(可選)。
13. 如果是主從環境,還要考慮 slave_net_timeout 參數默認值改變帶來的影響(主庫 error 日誌中出現 「ER_RPL_ZOMBIE_ENCOUNTERED」 的報錯)。
在 5.7.7 以前,該參數默認是 3600s,之後改為了 60s,需要重新執行 change master to 語句,並且顯式指定 master_heartbeat_period=xx,因為從 5.7.4 開始,只有執行 reset slave 才能將其重置為默認值(slave_net_timeout 值的一半)。另外提一句,也是從 5.7.4 開始,執行 change master to 語句時,可以不用先停止複製線程了。
Linux怎麼更新MySQL的版本
第一步:檢查linux的操作系統版本
代碼如下:
cat /etc/issue
第二步:在mysql官網上下載5.7的版本
第三步:檢查linux上以前安裝的mysql版本
代碼如下:
rpm -qa | grep mysql
第四步:如果出現mysql的一些安裝版本,則通過以下命令進行刪除
代碼如下:
rpm -e –nodeps mysql-xxx
第五步:準備安裝新版本的mysql-server
代碼如下:
rpm -ivh MySQL-server-xxxx
第六步:啟動mysql server
代碼如下:
service mysql start
第七步:安裝mysql client
代碼如下:
rpm -ivh MySQL-client-xxx
linux中mysql5升級到mysql5.5的方法
手上有一朋友的伺服器是MYSQL5.1,因需要升級到5.5或以上,這兒寫下升級到5.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
代碼如下
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
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/235923.html