日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql 修改时间段内_详解mysql数据库MyISAM存储引擎如何转为Innodb及其中的注意点...

發(fā)布時(shí)間:2025/4/16 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 修改时间段内_详解mysql数据库MyISAM存储引擎如何转为Innodb及其中的注意点... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概述

mysql數(shù)據(jù)庫(kù)存儲(chǔ)引擎為MyISAM的時(shí)候,在大訪問(wèn)量的情況下數(shù)據(jù)表有可能會(huì)出現(xiàn)被鎖的情況,這就會(huì)導(dǎo)致用戶(hù)連接網(wǎng)站時(shí)超時(shí)而返回502,此時(shí)就需要MySQL數(shù)據(jù)庫(kù)MyISAM存儲(chǔ)引擎轉(zhuǎn)為Innodb。

今天主要分享最近對(duì)某個(gè)數(shù)據(jù)庫(kù)做的數(shù)據(jù)遷移,其中包括存儲(chǔ)引擎轉(zhuǎn)換、數(shù)據(jù)庫(kù)編碼轉(zhuǎn)換。

思路:

1)導(dǎo)出舊數(shù)據(jù)庫(kù)表結(jié)構(gòu)

2)修改引擎為innodb

3)導(dǎo)入舊數(shù)據(jù)庫(kù)表結(jié)構(gòu)到新數(shù)據(jù)庫(kù)

4)非工作時(shí)間段停應(yīng)用、導(dǎo)出舊數(shù)據(jù)庫(kù)數(shù)據(jù)(不導(dǎo)表結(jié)構(gòu))

5)導(dǎo)入舊數(shù)據(jù)庫(kù)數(shù)據(jù)(sql_mode調(diào)整)

6)調(diào)整新數(shù)據(jù)庫(kù)編碼為utf8mb4


1、導(dǎo)出CentOS數(shù)據(jù)庫(kù)的表結(jié)構(gòu)和表數(shù)據(jù)

--導(dǎo)出表結(jié)構(gòu)(-d參數(shù)表示不導(dǎo)出數(shù)據(jù),只導(dǎo)出表結(jié)構(gòu))mysqldump -d -h xx.xx.xx -uroot -p zentao > zentao_table.sql--導(dǎo)出表數(shù)據(jù)(-t參數(shù)表示只導(dǎo)數(shù)據(jù),不導(dǎo)表結(jié)構(gòu))mysqldump -t -h xx.xx.xx -uroot -p zentao > zentao_tabledata.sql

2、修改數(shù)據(jù)庫(kù)引擎

這里替換 zentao_table.sql里的MyISAM為INNODB

sed -i 's/MyISAM/INNODB/g' zentao_table.sql

3、新建數(shù)據(jù)庫(kù)centos_new,并導(dǎo)入表結(jié)構(gòu)

--為了避免遷移由于編碼問(wèn)題導(dǎo)致太多不穩(wěn)定因素,先建為utf8mysql -uroot -p -e 'create database zentao default character set utf8;' mysql -uroot -p zentao < zentao_table.sql

導(dǎo)入后通過(guò)show table status來(lái)檢查表引擎是否為INNODB。


4、導(dǎo)入數(shù)據(jù)

這里導(dǎo)入數(shù)據(jù)時(shí)要注意sql_mode級(jí)別,有一些日期類(lèi)型可能是0000-00-00格式,所以需去掉no_zero_date參數(shù)

最終sql_mode級(jí)別為:sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

mysql -uroot -p zentao < zentao_tabledata.sql

導(dǎo)入成功。


5、轉(zhuǎn)換數(shù)據(jù)庫(kù)編碼

這里的思路是:導(dǎo)出目的數(shù)據(jù)庫(kù)表結(jié)構(gòu)sql-->手動(dòng)修改sql編碼為utf8mb4-->導(dǎo)入中間數(shù)據(jù)庫(kù)(只存放修改后的表結(jié)構(gòu))-->從中間庫(kù)到目的數(shù)據(jù)庫(kù)做結(jié)構(gòu)同步

遷移后應(yīng)用連接,功能測(cè)試成功。


覺(jué)得有用的朋友多幫忙轉(zhuǎn)發(fā)哦!后面會(huì)分享更多devops和DBA方面的內(nèi)容,感興趣的朋友可以關(guān)注下~

總結(jié)

以上是生活随笔為你收集整理的mysql 修改时间段内_详解mysql数据库MyISAM存储引擎如何转为Innodb及其中的注意点...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。