包含linux下更改mysql版本的詞條

本文目錄一覽:

那位大神能告訴我mysql5.0怎麼升級到5.1的版本?具體操作步驟是什麼! 在linux系統環境下.

升級要備份好重要的文件,如參數文件,重建my.cnf文件。

1. 停數據庫,備份數據(備份物理文件)

2. 將新版本mysql的數據目錄指向到舊目錄(datadir)

3. 啟動mysqld時使用skip grant tables 參數避開系統檢查,

# 例如

/usr/local/mysql/bin/mysqld –datadir=/var/data/ –user=mysql –skip-grant-tables

4. 執行mysql_upgrade,這時應該就會順利進行下來了

或者只升級授權表,mysql_fix_privilege_tables(推薦) 或 mysql_fix_privilege_tables.sql 腳本執行

5. 停止mysqld

6. 按照原來的my.cnf運行正常服務(這一步失敗很可能由於參數不兼容引起,比如bdb相關的所有參數5.1開始都不再支持,總之這一步很容易處理)

7. 檢查表有沒有問題,比如執行mysqlcheck –all-databases 等等

還不會在Linux中安裝Mysql?

mysql在linux下有三種安裝方式,依照難以程度排序:

第一種是yum install mysql,這種安裝方式最簡單,初學可以採用。但是這種安裝的弊端是安裝的版本比較低,現在安裝的話是5.17的版本。

第二種方式是下載最新的MySQL-5.6.25-1.rhel5.x86_64.rpm-bundle.tar,解壓縮後,用rpm -ivh 包名,安裝四個包就可以了,注意先後順序。

第三種方式是下載最新的mysql-5.6.27-linux-glibc2.5-i686.tar.gz,解壓縮後,手動配置。主要包括配置:增加mysql用戶和群組;拷貝my-default.inf文件為my.inf到/etc/下;安裝並初始化/mysql-5.6.27/scripts/mysql_install_db –user=mysql –basedir=/… –datadir=/…;增加到服務中chkconfig –add mysql ,chkconfig mysql on ;啟動服務service mysql start ;修改root初始密碼。操作完以上幾部基本上就可以了。

如何升級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數據庫

查找以前是否安裝有mysql,使用下面命令:

rpm

-qa|grep

-i

mysql

如果顯示有如下包則說明已安裝mysql

mysql-4.1.12-3.RHEL4.1

mysqlclient10-3.23.58-4.RHEL4.1

如果已安裝,則需要刪除已安裝的數據庫,使用以下命令來刪除數據庫

刪除命令:rpm

-e

–nodeps

包名

(

rpm

-ev

mysql-4.1.12-3.RHEL4.1

)

刪除老版本mysql的開發頭文件和庫

命令:rm

-fr

/usr/lib/mysql

rm

-fr

/usr/include/mysql

注意:卸載後/var/lib/mysql中的數據及/etc/my.cnf不會刪除,如果確定沒用後就手工刪除

rm

-f

/etc/my.cnf

rm

-fr

/var/lib/mysql

下載mysql的rpm包

可以通過wget下載具體的地址因為不能用鏈接請大家去官網去找

(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL服務器;

(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客戶端;

(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql開發依賴包。

下載後放到Liunx服務器中,如圖所示

安裝MySQL

Server的rpm包

rpm

-ivh

MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm

安裝過程如圖所示

安裝完成後會生成root用戶的隨機密碼,請使用「cat

/root/.mysql_secret」或類似命令進行查看。

linux下怎麼升級mysql版本

先備份mysql數據文件.再重裝mysql .再把數據文件放進去.啟動mysql

如果不出錯就升級完成了

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-hk/n/286317.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-23 03:47
下一篇 2024-12-23 03:47

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Git secbit:一種新型的安全Git版本

    Git secbit是一種新型的安全Git版本,它在保持Git原有功能的同時,針對Git存在的安全漏洞做出了很大的改進。下面我們將從多個方面對Git secbit做詳細地闡述。 一…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • 如何將Java項目分成Modules並使用Git進行版本控制

    本文將向您展示如何將Java項目分成模塊,並使用Git對它們進行版本控制。分割Java項目可以使其更容易維護和拓展。Git版本控制還可以讓您跟蹤項目的發展並協作開發。 一、為什麼要…

    編程 2025-04-28
  • Python的版本演變

    Python是一門非常流行的編程語言,它有着簡潔、易讀、易寫的特點。自1991年由Guido van Rossum發明以來,Python已經發展成為一個成熟的編程語言,擁有多個版本…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • librosa版本用法介紹

    librosa是一個用於音頻信號處理的python庫,具有多種處理音頻的功能。在librosa庫中,版本號非常重要,在不同的版本中可能會存在一些差異。本文將圍繞librosa的版本…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • Java多版本支持實現方式

    本文將從以下幾個方面闡述如何實現Java多版本支持,並給出可行的代碼示例。 一、多版本Java環境概述 Java是一門跨平台的編程語言,但是在不同的應用場景下,可能需要使用不同版本…

    編程 2025-04-27

發表回復

登錄後才能評論