mysql數據庫區域遷移(數據庫遷移方式)

本文目錄一覽:

如何遷移MySQL數據庫

caching_sha2_password認證插件提供更多的密碼加密方式,並且在加密方面具有更好的表現,目前MySQL 8.0選用caching_sha2_password作為默認的認證插件,MySQL 5.7的認證插件是MySQL_native_password。如果客戶端版本過低,會造成無法識別MySQL 8.0的加密認證方式,最終導致連接問題。

MySQL存儲引擎現在負責提供自己的分區處理程序,而MySQL服務器不再提供通用分區支持,InnoDB和NDB是唯一提供MySQL 8.0支持的本地分區處理程序的存儲引擎。 如果分區表用的是別的存儲引擎,存儲引擎必須進行修改。要麼將其轉換為InnoDB或NDB,要麼刪除其分區。通過MySQLdump從5.7獲取的備份文件,在導入到8.0環境前,需要確保創建分區表語句中指定的存儲引擎必須支持分區,否則會報錯。

MySQL 8.0的默認字符集utf8mb4,可能會導致之前數據的字符集跟新建對象的字符集不一致,為了避免新舊對象字符集不一致的情況,可以在配置文件將字符集和校驗規則設置為舊版本的字符集和校驗規則。

MySQL 8.0啟動使用的lower_case_table_names值必須跟初始化時使用的一致。使用不同的設置重新啟動服務器會引入與標識符的排序和比較方式不一致的問題。

 lower_case_table_names 

要避免MySQL 8.0上的啟動失敗,MySQL配置文件中的sql_mode系統變量不能包含NO_AUTO_CREATE_USER。

從MySQL 5.7.24和MySQL 8.0.13開始,MySQLdump從存儲程序定義中刪除了NO_AUTO_CREATE_USER。必須手動修改使用早期版本的MySQLdump創建的轉儲文件,以刪除NO_AUTO_CREATE_USER。

在MySQL 8.0.11中,刪除了這些不推薦使用的兼容性SQL Mode:DB2,MAXDB,MSSQL,MySQL323,MySQL40,ORACLE,POSTGRESQL,NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS。從5.7到8.0的複製場景中,如果語句使用到廢棄的SQL Mode會導致複製異常。

在執行到MySQL 8.0.3或更高版本的in-place升級時,BACKUP_ADMIN權限自動授予具有RELOAD權限的用戶。

本文對MySQL 5.7到MySQL 8.0的升級過程中出現部分易出現問題進行整理:升級對MySQL版本的要求、升級都做了哪些內容、數據庫升級做了哪些步驟以及注意事項,希望對大家版本升級有幫助。

mysql數據庫遷移,有什麼工具或許辦法

可以用Mysql-front,先導出member的Excel文件,然後把user表也導出Excel,把第一個表的列拷貝到第二個Excel里,然後再把Excel文件導入到user表裡。

自己寫腳本遷移過去,where條件是member和user的對應關係(這裡假定member和user對應關係使用name對應的)

update user,member set user.price=member.money,user.truename=member.nickname where user.name=member.name

centos 7.2 遷移 mysql 數據庫文件

原目錄:/var/lib/mysql

新目錄:/data/mysql

1.將/smp/mysql/mysql.sock文件複製到/data/db/mysql.sock,並停止運行mysql(注意,需將

mysql.sock文件複製後,才能停止mysql)

/smp/mysql/bin/mysqladmin -uroot -p shutdown

2.data目錄遷移

cp -a /var/lib/mysql/* /data/mysql

3.修改/etc/my.cnf

socket=/data/db/mysql.sock(注意將原來的socket文件注釋掉,方便回滾)

datadir=/data/db/data

4.建立軟鏈接

ln -s /data/db/mysql.sock /var/lib/mysql/mysql.sock

原創文章,作者:O07HD,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/128865.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
O07HD的頭像O07HD
上一篇 2024-10-03 23:25
下一篇 2024-10-03 23:25

相關推薦

  • 如何修改mysql的端口號

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

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

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

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

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • Python緩存圖片的處理方式

    本文將從多個方面詳細闡述Python緩存圖片的處理方式,包括緩存原理、緩存框架、緩存策略、緩存更新和緩存清除等方面。 一、緩存原理 緩存是一種提高應用程序性能的技術,在網絡應用中流…

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

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

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28
  • Python怎麼導入數據庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的數據庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

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

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

    編程 2025-04-28

發表回復

登錄後才能評論