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

MySQL8.0升級的踩坑歷險記

 更新時間:2021年10月28日 10:00:30   作者:freephp  
聽說mysql8的性能提升了很多,對于我這種喜歡把所有軟件升級到最新版的人來說,二話不說直接升級,這篇文章主要給大家介紹了關于MySQL8.0升級踩坑的相關資料,需要的朋友可以參考下

前言

最近忙于Fighting的項目,所以筆耕有些松懈,實為不該。

剛好遇到需要從MySQL5.7.33升級到MySQL8.0.x的需求,于是記錄一下整個升級過程,踩坑而過。

背景梗概:本地docker容器中使用的MySQL是5.7.33(鏡像系統(tǒng)用的是ubuntu16.04),而新項目在線上使用了MySQL8.0。從線上導出的sql文件(表結構+數據)中有一種低版本MySQL不會用到的字符編碼,一導入就報錯,遇到的字符集報錯如下所示:

 - Unknown collation: 'utf8mb4_0900_ai_ci'

一頓搜索之后,我也冷靜了下來,有兩種思路,一種是被我稱為掩耳盜鈴式解決方法,一種是根治的辦法。

掩耳盜鈴,顧名思義,不解決本質問題,而是通過批量替換字符集的方式解決報錯,也就是把文件中所有的utf8mb4_0900_ai_ci 替換為:utf8_general_ci。

第二種就是保持和線上的MySQL版本一致,這樣就能支持該字符集。

于是我采用第二種方法,升級我的docker容器中的MySQL,順便也可以打包一個新的鏡像。

升級的過程也有點坎坷,但邏輯是清晰地。

1.先徹底卸載現(xiàn)有版本MySQL。

可以使用如下命令:

#刪除mysql的數據文件
sudo rm -R /var/lib/mysql/
#刪除mysql的配置文件

sudo rm -R /etc/mysql/

#自動卸載mysql(包括server和client)
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor

記得一定要刪除配置文件,因為有可能不兼容。

2.下載deb并按照MySQL8.x。

可以去官網下載,官網地址為https://dev.mysql.com/repo/apt

我們選擇最新的deb下載,網址為:
https://dev.mysql.com/get/mysql-apt-config_0.8.20-1_all.deb。在命令后使用wget命令進行下載,如下:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.20-1_all.deb


下載完成之后使用dpkg命令并更新apt源,然后就可以進行安裝了,完整命令如下所示:

dpkg -i mysql-apt-config_0.8.20-1_all.deb
apt-get update
apt-get install -y mysql-server

在最后一個命令執(zhí)行過程中,它會讓你輸入root密碼和一些基本配置,然后就可以完成安裝了。

因為是在ubuntu里面安裝的MySQL,所以啟動方式為:

service mysql start

你可以使用命令查看進程運行情況,正常的時候類似如需輸出:

/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock

3.創(chuàng)建用戶和配置權限。

MySQL8.0.x實際使用的過程中發(fā)現(xiàn)用戶授權和之前版本有點不同,需要分三步:

  1. 創(chuàng)建用戶。
  2. 分配權限。
  3. 刷新權限。

具體的sql語句如下,順序也是嚴格的:

create user 'freephp'@'%' identified by '176serTTc8Cg';

grant all privileges on dev_database.* to 'freephp'@'%' with grant option;

flush privileges;

上面的sql解釋一下,第一句是創(chuàng)建一個名為freephp的用戶,密碼為176serTTc8Cg,%代表可以任意主機進行連接。

第二句的意思是把dev_database的所有權限賦予用戶freephp。

第三句就是立即刷新權限,讓新創(chuàng)建的權限生效。

自此歷險記大功告成,MySQL8.0的新特性還需要探索,下次再聊。

總結

到此這篇關于MySQL8.0升級踩坑的文章就介紹到這了,更多相關MySQL8.0升級踩坑內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL8.0安裝中遇到的3個小錯誤總結

    MySQL8.0安裝中遇到的3個小錯誤總結

    這篇文章主要給大家總結介紹了關于MySQL8.0安裝中遇到的3個小錯誤的相關資料,文中通過圖文以及示例代碼介紹的非常詳細,對大家學習或者使用mysql8.0具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-10-10
  • 在linux或unix服務器上安裝、使用MySQL的注意事項

    在linux或unix服務器上安裝、使用MySQL的注意事項

    在linux或unix服務器上安裝、使用MySQL的注意事項,需要的朋友可以參考下,使用windows服務器的朋友可以到s.jb51.net下載相關軟件
    2012-01-01
  • MySQL 字符串函數大全

    MySQL 字符串函數大全

    如果字符串函數提供一個二進制字符串作為參數,結果字符串也是一個二進制字符串。被變換到一個字符串的數字被當作是一個二進制字符串。這僅影響比較 .
    2009-07-07
  • Mysql查看最大連接數和修改最大連接數的講解

    Mysql查看最大連接數和修改最大連接數的講解

    今天小編就為大家分享一篇關于Mysql查看最大連接數和修改最大連接數的講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • mysql觸發(fā)器同步表的數據方式

    mysql觸發(fā)器同步表的數據方式

    這篇文章主要介紹了mysql觸發(fā)器同步表的數據方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • MySQL創(chuàng)建唯一索引時報錯Duplicate?entry?*?for?key問題

    MySQL創(chuàng)建唯一索引時報錯Duplicate?entry?*?for?key問題

    這篇文章主要介紹了MySQL創(chuàng)建唯一索引時報錯Duplicate?entry?*?for?key問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 如何設置mysql允許外部連接訪問

    如何設置mysql允許外部連接訪問

    大家好,本篇文章主要講的是如何設置mysql允許外部連接訪問,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • mysql中文顯示為問號?的問題及解決

    mysql中文顯示為問號?的問題及解決

    這篇文章主要介紹了mysql中文顯示為問號?的問題及解決方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • mysql 5.7 數據庫安裝步驟個人總結

    mysql 5.7 數據庫安裝步驟個人總結

    這篇文章主要介紹了mysql 數據庫安裝步驟個人總結,需要的朋友可以參考下
    2017-09-09
  • MySQL定位CPU利用率過高的SQL方法

    MySQL定位CPU利用率過高的SQL方法

    當mysql CPU告警利用率過高的時候,我們應該怎么定位是哪些SQL導致的呢,本文將介紹一下定位的方法,文章通過代碼示例講解的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2024-07-07

最新評論

津市市| 黑河市| 梅州市| 湖北省| 阿荣旗| 绥芬河市| 吉安市| 宜宾市| 华蓥市| 泾阳县| 凌海市| 日喀则市| 龙州县| 咸宁市| 万源市| 深水埗区| 都兰县| 临湘市| 万源市| 通城县| 四川省| 古交市| 靖边县| 武陟县| 香河县| 彩票| 怀柔区| 乌拉特中旗| 来凤县| 新野县| 靖边县| 彰化市| 武宁县| 夹江县| 平凉市| 塔城市| 湄潭县| 江达县| 榆社县| 日喀则市| 宜阳县|