MYSQL表空间迁移_MySQL
bitsCN.com
MYSQL表空间迁移
有如下原因你可能需要将InnoDB表复制到不同的数据库服务器上。
不增加生产负载的情况下生成 一个报表
在一个新的服务器上建立一个和生产上数据相同的表
做一个备份在发生问题或错误操作时用于恢复
快速将数据从一个服务器迁移到另一个服务器
命令FLUSH TABLES ... FOREXPORT 使.ibd文件保持一致的状态。只有文件处于一致的状态我们才可以复制它。这个文件也会同时创建一个扩展名.cfg的二进制的文件。命令ALTER TABLE ...IMPORT TABLESPACE 会使用这个二进制文件对导入过程进行校验。
对于 MySQL 5.6.8版本, ALTER TABLE ...IMPORT TABLESPACE 命令不再一定需要一个扩展名为.cfg二进制文件了。但如果真的没有这个文件我们会收到下面这样一个警告。
Message:InnoDB: IO Read error: (2, No such file or directory) Error opening './
test/t.cfg',will attempt to import without schema verification
1row in set (0.00 sec)
这个特性有时候还是很有用的。比如,在模式不匹配的导入过程中,或者在一些需要恢复的情景下,元数据又不能从.ibd文件获得,则这个命令不需要一个扩展名为.cfg的二进制文件就可以导入的特性就很有用。
可迁移表空间的限制:
innodb_file_per_table 一定要打开成 ON. 在共享表空间上的表不能使用这个特性。
当表处理静默状态时,只有只读语句可以使用这张表。
当导入表空间时,目的库的页尺寸要和源库的页尺寸相匹配。
DISCARD TABLESPACE 不支持分区表。如果你在分区表上使用命令 ALTER TABLE ... DISCARD TABLESPACE 你会看到如下错误: ERROR 1031 (HY000): 表引擎没有这个选项。
DISCARD TABLESPACE 命令不支持有父子关系的表。如果 foreign_key_checks 被设置成1. 在使用命令之前我们可以将这一参数设置为0. foreign_key_checks=0.
ALTER TABLE ... IMPORT TABLESPACE 命令在导入表时不会检查主外键关系。
如果是实时复制的时候, innodb_file_per_table 必需在主服务和从服务上设置为ON。
下面来看一个实例:
在源服务器上我们来对city表进行迁移:
1. mysql> use test;C:/C:/ProgramData/MySQL/MySQLServer 5.6/data/world2. C:/ProgramData/MySQL/MySQLServer 5.6/data/world>dir3. Volume in drive C has no label.4. Volume Serial Number is D0FA-F7A05. Directory of C:/ProgramData/MySQL/MySQL Server5.6/data/world6. 10/08/2013 03:15 PM <DIR> .7. 10/08/2013 03:15 PM <DIR> ..8. 10/08/2013 03:15 PM 8,710 city.frm9. 10/08/2013 03:15 PM 273,293 city.MYD10.10/08/2013 03:15 PM 43,008 city.MYI11.10/08/2013 03:15 PM 9,172 country.frm12.10/08/2013 03:15 PM 0 country.MYD13.10/08/2013 03:15 PM 5,120 country.MYI14.10/08/2013 03:15 PM 8,702 countrylanguage.frm15.10/08/2013 03:15 PM 38,376 countrylanguage.MYD16.10/08/2013 03:15 PM 18,432 countrylanguage.MYI17.10/08/2013 03:15 PM 61 db.opt18. 10File(s) 404,874 bytes19. 2 Dir(s) 224,709,537,792 bytes free20.mysql> use world21.Database changed22.mysql> show tables;23.+-----------------+24.| Tables_in_world |25.+-----------------+26.| city |27.| country |28.| countrylanguage |29.+-----------------+30.3 rows in set (0.00 sec)31.mysql> flush table cityfor export;32.ERROR 1031 (HY000): Table storage engine for 'city' doesn't havethis option33.mysql> alter table cityengine=innodb;34.mysql> flush table cityfor export; --对表加锁。35.Query OK, 0 rows affected (0.18 sec)36.
复制表文件到目标位置
C:/ProgramData/MySQL/MySQL Server 5.6/data/world>mkdir city
C:/ProgramData/MySQL/MySQL Server 5.6/data/world>copy city.* city
city.cfg
city.frm
city.ibd
3 file(s) copied.
C:/ProgramData/MySQL/MySQL Server 5.6/data/world>cd city
C:/ProgramData/MySQL/MySQL Server 5.6/data/world/city>dir
Volume in drive C has no label.
Volume Serial Number is D0FA-F7A0
Directory of C:/ProgramData/MySQL/MySQL Server 5.6/data/world/city
10/10/2013 10:58 AM
10/10/2013 10:58 AM
10/10/2013 10:53 AM 582 city.cfg
10/10/2013 10:53 AM 8,710 city.frm
10/10/2013 10:53 AM 475,136 city.ibd
3 File(s) 484,428 bytes
2 Dir(s) 224,676,024,320 bytes free
在目标库上删除可能存在的同名表空间。
mysql> unlock tables;--释放锁。2. Query OK, 0 rowsaffected (0.07 sec)3. mysql> alter table city discard tablespace;删除可能存在的同名表空间4. Query OK, 0 rowsaffected (0.23 sec)5. mysql> selectcount(*) from city;6. ERROR 1814 (HY000):Tablespace has been discarded for table 'city'7. mysql> alter tablecity import tablespace;8. ERROR 1146 (42S02):Table 'world.city' doesn't exist9. C:/ProgramData/MySQL/MySQLServer 5.6/data/world/city>copy city.* ..10.city.cfg11.city.frm12.Overwrite ../city.frm? (Yes/No/All): yes13.Access is denied.14.city.ibd15. 2 file(s) copied.16.C:/ProgramData/MySQL/MySQL Server 5.6/data/world/city>17.mysql> alter table city import tablespace;18.Query OK, 0 rows affected (0.94 sec)19.mysql> select count(*) from city;20.+----------+21.| count(*) |22.+----------+23.| 4079 |24.+----------+25.1 row in set (0.08 sec)
表空间被成功。
bitsCN.com
Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Go-Sprache ist eine effiziente, prägnante und leicht zu erlernende Programmiersprache. Sie wird von Entwicklern aufgrund ihrer Vorteile bei der gleichzeitigen Programmierung und Netzwerkprogrammierung bevorzugt. In der tatsächlichen Entwicklung sind Datenbankoperationen ein unverzichtbarer Bestandteil. In diesem Artikel wird erläutert, wie die Go-Sprache zum Implementieren von Datenbank-Hinzufügungs-, Lösch-, Änderungs- und Abfrageoperationen verwendet wird. In der Go-Sprache verwenden wir normalerweise Bibliotheken von Drittanbietern, um Datenbanken zu betreiben, z. B. häufig verwendete SQL-Pakete, Gorm usw. Hier nehmen wir das SQL-Paket als Beispiel, um vorzustellen, wie die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge der Datenbank implementiert werden. Angenommen, wir verwenden eine MySQL-Datenbank.

Apples neueste Versionen der iOS18-, iPadOS18- und macOS Sequoia-Systeme haben der Fotoanwendung eine wichtige Funktion hinzugefügt, die Benutzern dabei helfen soll, aus verschiedenen Gründen verlorene oder beschädigte Fotos und Videos einfach wiederherzustellen. Mit der neuen Funktion wird im Abschnitt „Extras“ der Fotos-App ein Album mit dem Namen „Wiederhergestellt“ eingeführt, das automatisch angezeigt wird, wenn ein Benutzer Bilder oder Videos auf seinem Gerät hat, die nicht Teil seiner Fotobibliothek sind. Das Aufkommen des Albums „Wiederhergestellt“ bietet eine Lösung für Fotos und Videos, die aufgrund einer Datenbankbeschädigung verloren gehen, die Kameraanwendung nicht korrekt in der Fotobibliothek speichert oder eine Drittanbieteranwendung die Fotobibliothek verwaltet. Benutzer benötigen nur wenige einfache Schritte

Die polymorphe Hibernate-Zuordnung kann geerbte Klassen der Datenbank zuordnen und bietet die folgenden Zuordnungstypen: Joined-Subclass: Erstellen Sie eine separate Tabelle für die Unterklasse, einschließlich aller Spalten der übergeordneten Klasse. Tabelle pro Klasse: Erstellen Sie eine separate Tabelle für Unterklassen, die nur unterklassenspezifische Spalten enthält. Union-Unterklasse: ähnelt der verbundenen Unterklasse, aber die Tabelle der übergeordneten Klasse vereint alle Spalten der Unterklasse.

Wie installiere ich die PHPFFmpeg-Erweiterung auf dem Server? Die Installation der PHPFFmpeg-Erweiterung auf dem Server kann uns dabei helfen, Audio- und Videodateien in PHP-Projekten zu verarbeiten und Funktionen wie Kodierung, Dekodierung, Bearbeitung und Verarbeitung von Audio- und Videodateien zu implementieren. In diesem Artikel erfahren Sie, wie Sie die PHPFFmpeg-Erweiterung auf dem Server installieren, sowie spezifische Codebeispiele. Zunächst müssen wir sicherstellen, dass PHP und FFmpeg auf dem Server installiert sind. Wenn FFmpeg nicht installiert ist, können Sie die folgenden Schritte ausführen, um FFmpe zu installieren

HTML kann die Datenbank nicht direkt lesen, dies kann jedoch über JavaScript und AJAX erreicht werden. Zu den Schritten gehören das Herstellen einer Datenbankverbindung, das Senden einer Abfrage, das Verarbeiten der Antwort und das Aktualisieren der Seite. Dieser Artikel bietet ein praktisches Beispiel für die Verwendung von JavaScript, AJAX und PHP zum Lesen von Daten aus einer MySQL-Datenbank und zeigt, wie Abfrageergebnisse dynamisch auf einer HTML-Seite angezeigt werden. In diesem Beispiel wird XMLHttpRequest verwendet, um eine Datenbankverbindung herzustellen, eine Abfrage zu senden und die Antwort zu verarbeiten. Dadurch werden Daten in Seitenelemente gefüllt und die Funktion des HTML-Lesens der Datenbank realisiert.

So verwenden Sie MySQLi zum Herstellen einer Datenbankverbindung in PHP: MySQLi-Erweiterung einbinden (require_once) Verbindungsfunktion erstellen (functionconnect_to_db) Verbindungsfunktion aufrufen ($conn=connect_to_db()) Abfrage ausführen ($result=$conn->query()) Schließen Verbindung ( $conn->close())

Um Datenbankverbindungsfehler in PHP zu behandeln, können Sie die folgenden Schritte ausführen: Verwenden Sie mysqli_connect_errno(), um den Fehlercode abzurufen. Verwenden Sie mysqli_connect_error(), um die Fehlermeldung abzurufen. Durch die Erfassung und Protokollierung dieser Fehlermeldungen können Datenbankverbindungsprobleme leicht identifiziert und behoben werden, wodurch der reibungslose Betrieb Ihrer Anwendung gewährleistet wird.

Laut Nachrichten dieser Website vom 23. Juli hat ASUS eine Reihe von Produkten auf Server- und Workstation-Ebene auf den Markt gebracht, die mit Prozessoren der AMD EPYC 4004-Serie ausgestattet sind. Hinweis von dieser Website: AMD hat im Mai die AM5-Plattform und die Prozessoren der EPYC 4004-Serie mit Zen4-Architektur auf den Markt gebracht, die bis zu 16-Kern-3DV-Cache-Spezifikationen bieten. ASUSProER100AB6-Server ASUSProER100AB6 ist ein 1U-Rack-Serverprodukt, das mit einem Prozessor der EPYC Xiaolong 4004-Serie ausgestattet ist und für die Anforderungen von IDC sowie kleinen und mittleren Unternehmen geeignet ist. ASUSExpertCenterProET500AB6 Workstation ASUSExpertCenterProET500AB6 ist eine
