最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL 5.7.30 安裝與升級問題詳細教程

 更新時間:2020年05月29日 11:25:13   作者:netcy  
這篇文章主要介紹了MySQL 5.7.30 的安裝與升級教程(所有可能的坑都在這里),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

楔子

由于之前電腦上安裝的MySQL版本是比較老的了,大概是5.1的版本,不支持JSON字段功能。而最新開發(fā)部門開發(fā)的的編輯器產(chǎn)品,使用到了JSON字段的功能。 因此需要升級MySQL版本,升級的目標版本是MySQL 5.7.30(雖然最新版本已經(jīng)到8.x,但是5.7基本夠用了)。 發(fā)現(xiàn)在升級安裝過程中,會有一些坑,所以使用本文記錄一下。

卸載老版本

首先需要卸載老的版本,卸載其實也挺簡單,只需要移除MySQL服務(wù)即可,首先打開CMD,然后cd到MySQL的bin目錄,然后輸入下面的命令移除MySQL服務(wù):

mysqld --remove mysql
//需要注意的是: “msyql” 是服務(wù)名稱,安裝的時候如果沒有指定服務(wù)名稱,
//默認名稱是MySQL(windows下不區(qū)分大小寫);
// 如果安裝的時候指定了名稱,上面的名稱需要修改為該指定的名稱。

remove msyql

需要注意的一點是,我們刪除了MySQL服務(wù)之后,有可能在windows的服務(wù)的列表里面還有,保留在哪兒也沒啥影響,但是如果你又潔癖,一定要刪除,就需要去刪除注冊表中對應(yīng)鍵,參考下圖。當然對于我們升級來說,后續(xù)還需要安裝windows服務(wù),可以直接覆蓋。

注冊表的圖

然后刪除老的MySQL相關(guān)文件夾,以及刪除相關(guān)的環(huán)境變量的配置。

需要注意的是,如果數(shù)據(jù)文件和MySQL程序在一個文件夾下,需要保留數(shù)據(jù)

安裝5.7.30版本

接下來就是安裝5.7.30版本,第一步是下載。

下載MySQL

下載地址是:https://dev.mysql.com/downloads/mysql/
點擊上面鏈接,進入到下載頁面,由于最新的版本是8.x,所以默認是8.x的版本。可以通過點擊“Looking for the latest GA
version ”選擇版本,然后下載免安裝版本:

下載

解壓MySQL

下載完成后,解壓到你想要安裝的目錄,比如我的目錄是:
D:\Program Files (x86)\mysql-5.7.30-winx64

目錄

配置環(huán)境變量

在系統(tǒng)變量path后面追加D:\Program Files (x86)\mysql-5.7.30-winx64\bin,如圖所示。

環(huán)境變量

創(chuàng)建配置文件my.ini

5.7.30版本的安裝包默認是不帶配置文件my.ini的。所以需要創(chuàng)建自己創(chuàng)建一個my.ini的文件。手動創(chuàng)建my.ini文件,然后輸入如下內(nèi)容:

[mysql]
# 設(shè)置mysql客戶端默認字符集
default-character-set=utf8

[mysqld]
# 設(shè)置3306端口
port = 3306
# 設(shè)置mysql安裝目錄
basedir=D:\Program Files (x86)\mysql-5.7.30-winx64
# 設(shè)置mysql數(shù)據(jù)庫的數(shù)據(jù)存放目錄
datadir=D:\Program Files (x86)\mysql-5.7.30-winx64\data
# 運行最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 參加新表時將使用的默認存儲引擎
default-storage-engine=INNODB

此處會有一些坑,需要避免。

my.ini注意事項一

my.ini必須保存為ANSI格式(配置文件默認就是是ANSI編碼格式,可能會不小心保存為其他格式,比如UTF-8),否正會出現(xiàn)后續(xù)的服務(wù)不能啟動的情況。 如果你不確定my.ini是什么格式,可以另存為:

格式ANSI

my.ini注意事項二

如果是從低版本升級到5.7的版本,可能為了保留之前的配置,就直接把之前的配置文件拷貝過來。這個時候就要注意了,因為以前很多低版本的參數(shù),已經(jīng)不適合高版本的。如果不修改過來,就會導(dǎo)致后續(xù)的服務(wù)啟動失敗。

比如筆者遇到的一個導(dǎo)致錯誤的參數(shù)是:

#table_cache=256 // 低版本的
table_open_cache=256 // 高版本的

如果一定要保留老版本的配置,又對于新版本的參數(shù)修改不是很熟悉,那么可以再配置文件中把日志功能假設(shè),這樣再報錯的時候,可以通過查看日志了解詳情。 如下配置日志路徑即可:

log_error=D:/mysql-5.7/error.log

然后啟動失敗后,可以通過日志查看報錯,比如:

錯誤日志

更多可能的錯誤參數(shù):

unknown variable 'key-buffer=256M' //去掉改項即可。

unknown variable 'table-cache=512'  //修改為table_open_cache即可。

unknown variable 'thread-concurrency=8' //去掉改項,5.7已結(jié)廢棄。

windows 服務(wù)啟動失敗,不會把錯誤詳情標識出來,只會簡單說一句服務(wù)啟動失敗。 只能通過配置日志文件來查看。

服務(wù)無法啟動

安裝MySQL服務(wù)

最重要的一步就是安裝MySQL服務(wù)。 首先進入cmd界面,CD到MySQL的bin目錄(注意此處一定要到bin目錄下去執(zhí)行),執(zhí)行如下命令:

mysqld --install [服務(wù)名稱,默認是MySQL]

截圖如下:

安裝服務(wù)

執(zhí)行命令后,會提示服務(wù)安裝成功。

注意事項一

需要注意的是,有可能出現(xiàn)Install/Remove of the Service Denied! 的提示錯誤。
原因:普通用戶模式權(quán)限下的cmd安裝mysql會出現(xiàn)這樣的報錯提示。通過管理員模式運行cmd即可:

管理員身份運行cmd

其他步驟如果出現(xiàn)沒有執(zhí)行權(quán)限的情況,也都請用管理員省份運行即可。

注意事項二

有些電腦會出現(xiàn)找不到MSVCP120.dll的錯誤:

錯誤

這種錯誤是由于未安裝 vcredist 引起的
下載 vcredist 地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
安裝,位置默認即可,安裝成功之后,重新安裝服務(wù)即可。

初始化MySQL

MySQL5.7是不帶data目錄的,所以需要初始化MySQL,生產(chǎn)data目錄,也比較簡單,執(zhí)行如下命令即可:

mysqld --initialize-insecure --user=mysql

需要注意的是,有的文章介紹的是此處用 “mysqld --initialize”, “mysqld --initialize-insecure”和 “mysqld --initialize”的區(qū)別在于前者會創(chuàng)建一個空密碼,而后者會創(chuàng)建一個隨機密碼。 因此用 “mysqld --initialize”,最好加上 “–console”,可以把隨機密碼打印出來(注意 “–console”僅限于windows)

console

console

–user=msyql 主要用于在linux或者unix系統(tǒng)下給與把data目錄授權(quán)給mysql賬號,在windows 下可以不必使用,帶上也無所謂。

數(shù)據(jù)初始化參考鏈接:https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/data-directory-initialization.html

初始化完成后,會生成data目錄。

注意事項一

如果初始化出現(xiàn)錯誤:“–initialize specified but the data directory has files in it. Aborting. ” 那是因為你可能手動創(chuàng)建了data目錄,并且里面包含了文件(比如升級可能這樣操作),此時要做的就是刪除data目錄即可,至于升級,可以后續(xù)考慮。

此時說的data目錄,是指 my.ini文件里面 指定的目錄 ,未必是mysql安裝文件下的目錄:
datadir=D:\Develop\MySQL\mysql-8.0.12-winx64\data

啟動MySQL服務(wù)

windows下啟動MySQL服務(wù),可以使用如下命令即可:

net start MySQL

image.png

設(shè)置MySQL服務(wù)密碼

使用mysqladmin可以設(shè)置密碼。啟動MySQL服務(wù)之后,輸入如下命令:

密碼

輸入老的密碼(通過前面操作,老密碼為空),然后輸入新的密碼,確認新的密碼,即可設(shè)置成功。

注意事項一

如果前面初始化的時候未初始化未空密碼,又不小心忘記了初始化密碼,會出現(xiàn)下面的問題,無法登陸及修改密碼:
“Access denied for user ‘root'@‘localhost'”

通過如下步驟解決:

添加skip-grant-tables

再配置文件my.ini中添加skip-grant-tables:

image.png

重啟MySQL服務(wù)

先停止MySQL服務(wù),然后再啟動MySQL服務(wù),即可:

image.png

修改密碼

首先登陸mysql,此時不需要密碼,如下:

登陸

通過sql語句修改密碼,首先 use mysql ;然后update 更新密碼:

修改密碼

然后退出mysql即可。

刪除skip-grant-tables 重啟MySQL服務(wù)

首先從my.ini中刪除skip-grant-tables ,然后 net stop mysql, net start mysql 重啟服務(wù)。

MySQL老數(shù)據(jù)升級到5.7

要升級老數(shù)據(jù),如果是從5.x版本升級上來,基本上只需要把相關(guān)的數(shù)據(jù)文件拷貝到data文件夾下。需要注意的是,如果使用了 innodb,還需要把“ibdata”等文件拷貝過來。 否正會報表不存在的情況:

error: 1146: Table 'a_content' doesn't exist

innodb是MYSQL數(shù)據(jù)庫一種流行的數(shù)據(jù)庫引擎,支持事務(wù)(行級),ibdata用來儲存文件的數(shù)據(jù),而庫名的文件夾里面的那些表文件只是結(jié)構(gòu)而已,由于新版的mysql默認試innodb,所以ibdata1文件默認就存在了,少了這個文件有的數(shù)據(jù)表就會出錯。

如果升級過程中,存在數(shù)據(jù)損壞,可以使用repair命令進行修復(fù):

repair table tablename

正常經(jīng)過上述操作,就可以了,如果還有問題,可以嘗試使用升級命令mysql_upgrade對數(shù)據(jù)進行升級(也建議使用改命令升級,不然后續(xù)出問題,可能會不好定位)
https://dev.mysql.com/doc/refman/5.7/en/mysql-upgrade.html

//升級mysql,mysql_upgrade檢查不兼容的表,更新grant表;
mysql_upgrade -uroot -p

升級速度具體看data目錄的大小情況而定。

總結(jié)

到此這篇關(guān)于MySQL 5.7.30 安裝與升級教程詳解的文章就介紹到這了,更多相關(guān)mysql5.7.30 安裝升級內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql 5.6.14 win32 解壓縮版(免安裝)安裝配置教程

    mysql 5.6.14 win32 解壓縮版(免安裝)安裝配置教程

    這篇文章主要介紹了mysql 5.6.14 win32 解壓縮版(免安裝)安裝配置教程,感興趣的小伙伴們可以參考一下
    2016-11-11
  • MySQL刪除表操作實現(xiàn)(delete、truncate、drop的區(qū)別)

    MySQL刪除表操作實現(xiàn)(delete、truncate、drop的區(qū)別)

    這篇文章主要介紹了MySQL刪除表操作實現(xiàn)(delete、truncate、drop的區(qū)別),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • mysql 誤刪除ibdata1之后的恢復(fù)方法

    mysql 誤刪除ibdata1之后的恢復(fù)方法

    如果誤刪除了在線服務(wù)器中mysql innodb相關(guān)的數(shù)據(jù)文件ibdata1以及日志文件 ib_logfile*,應(yīng)該怎樣恢復(fù)呢
    2013-12-12
  • Mysql區(qū)間分組查詢的實現(xiàn)方式

    Mysql區(qū)間分組查詢的實現(xiàn)方式

    這篇文章主要介紹了Mysql區(qū)間分組查詢的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Mysql數(shù)據(jù)遷徙方法工具解析

    Mysql數(shù)據(jù)遷徙方法工具解析

    這篇文章主要介紹了mysql數(shù)據(jù)遷徙方法工具解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • MySQL百萬級數(shù)據(jù)分頁查詢優(yōu)化方案

    MySQL百萬級數(shù)據(jù)分頁查詢優(yōu)化方案

    在mysql中l(wèi)imit可以實現(xiàn)快速分頁,但是如果數(shù)據(jù)到了幾百萬時我們的limit必須優(yōu)化才能有效的合理的實現(xiàn)分頁了,否則可能卡死你的服務(wù)器哦。
    2017-11-11
  • mysql 登錄報錯:ERROR 1045 (28000):Access denied for user ‘root‘@‘localhost‘ (using password: Yes)

    mysql 登錄報錯:ERROR 1045 (28000):Access den

    本文主要介紹了mysql 登錄報錯:ERROR 1045 (28000):Access denied for user ‘root‘@‘localhost‘ (using password: Yes)的問題解決,具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • Mysql?COUNT()函數(shù)基本用法及應(yīng)用詳解

    Mysql?COUNT()函數(shù)基本用法及應(yīng)用詳解

    這篇文章主要介紹了Mysql?COUNT()函數(shù)基本用法及應(yīng)用的相關(guān)資料,COUNT()函數(shù)是SQL中常用的聚合函數(shù),用于統(tǒng)計滿足特定條件的記錄數(shù),它可以靈活地應(yīng)用于各種查詢場景,幫助用戶快速獲取所需的數(shù)據(jù)統(tǒng)計信息,需要的朋友可以參考下
    2024-12-12
  • MySQL慢查詢問題排查方式

    MySQL慢查詢問題排查方式

    文章介紹了MySQL慢查詢排查的步驟,包括查看當前正在運行的事務(wù)狀態(tài)、查看線程狀態(tài)、殺死線程、輔助判斷命令、開啟慢查詢?nèi)罩竞烷_啟通用查詢?nèi)罩?/div> 2025-02-02
  • mysql表分區(qū)的方式和實現(xiàn)代碼示例

    mysql表分區(qū)的方式和實現(xiàn)代碼示例

    通俗地講表分區(qū)是將一個大表,根據(jù)條件分割成若干個小表,下面這篇文章主要給大家介紹了關(guān)于mysql表分區(qū)的方式和實現(xiàn)代碼,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-02-02

最新評論

岳阳市| 茶陵县| 绩溪县| 宁陕县| 琼结县| 长白| 三原县| 墨竹工卡县| 平凉市| 新郑市| 乐亭县| 天峨县| 突泉县| 武清区| 岱山县| 汉阴县| 来安县| 昭觉县| 外汇| 民和| 都江堰市| 格尔木市| 东明县| 泽普县| 阳曲县| 禹州市| 霞浦县| 德保县| 奎屯市| 垫江县| 手机| 扬州市| 彭泽县| 浦北县| 永寿县| 阜南县| 桃源县| 鄯善县| 从化市| 陇川县| 界首市|