cari
Rumahpangkalan datatutorial mysql详解mysql之数据备份与恢复

该文使用mysql5.5 centos6.5 64位(本人使用rpm安装mysql,数据库的安装目录默认)

一、数据备份注意事项

读锁问题:数据库(或者某个表)一旦进行读锁操作则影响数据库的写操作所以此时不能对数据库进行写操作。之所以在数据备份的时候进行读锁操作是为了保证备份数据的完整性一致性,在数据备份完成后会自动进行解锁。

更新日志问题:每次备份数据的时候新生成一个日志文件,这样数据库在备份一段时间后突然崩溃可以通过该bin-log日志还原该时间段的数据。数据恢复的步骤:恢复备份的数据+还原最新bin-log日志中的数据

二、使用mysqldump进行书籍备份

mysqldump:命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。

mysqldump命令的工作原理:它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。

将test数据库备份到/tmp/mysql_back/目录下

 [root@localhost tmp]# mysqldump -uroot -p111111 test -l -F > '/tmp/mysql_back/test.sql';

参数解读:

1、mysqldump mysql数据备份的命令

2、-uroot -p111111  用户名密码

3、test:要备份的数据库名

4、-l:进行读锁控制

5、-F:生成新日志文件

执行该语句后会发现在 /var/lib/mysql 目录下会生成一个新的bin-log日志 mysql-bin.000002

6、/tmp/mysql_back/test.sql :生成备份文件的位置及名称

三、数据恢复

1、备份数据的恢复:

 [root@localhost tmp]# mysql -uroot -p111111 test -v -f</tmp/mysql_back/test.sql

  -v:查看导入的详细信息

  -f:导入过程中遇到错误时可以skip过,继续执行下面的语句。

2、bin-log日志中数据的还原:

  该日志在/var/lib/mysql下mysql-bin.000002日志中所有的记录

  [root@localhost mysql]# mysqlbinlog --no-defaults mysql-bin.000002 |mysql -uroot -p111111 test;

3、还原bin-log日志中指定位置的数据

通过 position位置还原数据

BEGIN
/*!*/;
# at 175
#170206 22:55:48 server id 1  end_log_pos 263     Query    thread_id=17    exec_time=0    error_code=0
use `test`/*!*/;
SET TIMESTAMP=1486392948/*!*/;
insert into t1 values(10)
/*!*/;
# at 263
#170206 22:55:48 server id 1  end_log_pos 290     Xid = 178
COMMIT/*!*/;
# at 290
#170206 22:55:54 server id 1  end_log_pos 358     Query    thread_id=17    exec_time=0    error_code=0
SET TIMESTAMP=1486392954/*!*/;
BEGIN
/*!*/;
# at 358
#170206 22:55:54 server id 1  end_log_pos 446     Query    thread_id=17    exec_time=0    error_code=0
SET TIMESTAMP=1486392954/*!*/;
insert into t1 values(12)
/*!*/;
# at 446
#170206 22:55:54 server id 1  end_log_pos 473     Xid = 179
COMMIT/*!*/;
# at 473
#170206 22:56:42 server id 1  end_log_pos 547     Query    thread_id=17    exec_time=0    error_code=0
SET TIMESTAMP=1486393002/*!*/;
truncate t1

还原该bin-log日志中position 位置在 172,473 中的数据(end_log_pos)

[root@localhost mysql]# mysqlbinlog --no-defaults mysql-bin.000002 --start-position="175" --stop-position="473"|mysql -uroot -p111111 test;

4、还原bin-log日志中指定时间段的数据

格式:将3中即可

--start-position="175"  替换为 --start-date="2016-12-30 21:30:34"

--stop-position="473" 替换为 --stop-date="2016-12-30 23:30:34"

Atas ialah kandungan terperinci 详解mysql之数据备份与恢复. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bagaimanakah MySQL mengendalikan replikasi data?Bagaimanakah MySQL mengendalikan replikasi data?Apr 28, 2025 am 12:25 AM

MySQL memproses replikasi data melalui tiga mod: replikasi asynchronous, semi-sinkron dan kumpulan. 1) Prestasi replikasi tak segerak tinggi tetapi data mungkin hilang. 2) Replikasi semi-sinkron meningkatkan keselamatan data tetapi meningkatkan latensi. 3) Replikasi kumpulan menyokong replikasi multi-tuan dan failover, sesuai untuk keperluan ketersediaan yang tinggi.

Bagaimanakah anda boleh menggunakan pernyataan Jelaskan untuk menganalisis prestasi pertanyaan?Bagaimanakah anda boleh menggunakan pernyataan Jelaskan untuk menganalisis prestasi pertanyaan?Apr 28, 2025 am 12:24 AM

Kenyataan Jelaskan boleh digunakan untuk menganalisis dan meningkatkan prestasi pertanyaan SQL. 1. Jalankan pernyataan Jelaskan untuk melihat pelan pertanyaan. 2. Menganalisis hasil output, perhatikan jenis akses, penggunaan indeks dan sertai pesanan. 3. Membuat atau menyesuaikan indeks berdasarkan hasil analisis, mengoptimumkan operasi gabungan, dan elakkan pengimbasan jadual penuh untuk meningkatkan kecekapan pertanyaan.

Bagaimana anda membuat sandaran dan memulihkan pangkalan data MySQL?Bagaimana anda membuat sandaran dan memulihkan pangkalan data MySQL?Apr 28, 2025 am 12:23 AM

Menggunakan mysqldump untuk sandaran logik dan mysqlenterpriseBackup untuk sandaran panas adalah cara yang berkesan untuk membuat sandaran pangkalan data MySQL. 1. Gunakan mysqldump untuk menyokong pangkalan data: mysqldump-usoot-pmydatabase> mydatabase_backup.sql. 2. Gunakan mysqlenterpriseBackup untuk sandaran panas: mysqlbackup-user = root-password = password-backup-dir =/to/to/backupbackup. Semasa pulih, gunakan kehidupan yang sepadan

Apakah sebab -sebab umum pertanyaan perlahan di MySQL?Apakah sebab -sebab umum pertanyaan perlahan di MySQL?Apr 28, 2025 am 12:18 AM

Sebab utama pertanyaan MySQL yang perlahan termasuk penggunaan indeks yang hilang atau tidak wajar, kerumitan pertanyaan, jumlah data yang berlebihan dan sumber perkakasan yang tidak mencukupi. Cadangan pengoptimuman termasuk: 1. Buat indeks yang sesuai; 2. Mengoptimumkan pernyataan pertanyaan; 3. Gunakan teknologi pembahagian meja; 4. Meningkatkan perkakasan dengan sewajarnya.

Apakah pandangan di MySQL?Apakah pandangan di MySQL?Apr 28, 2025 am 12:04 AM

Pandangan MySQL adalah jadual maya berdasarkan hasil pertanyaan SQL dan tidak menyimpan data. 1) Pandangan memudahkan pertanyaan kompleks, 2) meningkatkan keselamatan data, dan 3) mengekalkan konsistensi data. Pandangan disimpan pertanyaan dalam pangkalan data yang boleh digunakan seperti jadual, tetapi data dihasilkan secara dinamik.

Apakah perbezaan sintaks antara MySQL dan dialek SQL yang lain?Apakah perbezaan sintaks antara MySQL dan dialek SQL yang lain?Apr 27, 2025 am 12:26 AM

Mysqldiffersfromothersqldialectsyntaxforlimit, auto-increment, stringcomparison, subqueries, andperformanceanalysis.1) mySqlusSlimit, whilesqlserverestopandoracleusesusesrownum.2)

Apakah pemisahan MySQL?Apakah pemisahan MySQL?Apr 27, 2025 am 12:23 AM

Pemisahan MySQL meningkatkan prestasi dan memudahkan penyelenggaraan. 1) Bahagikan jadual besar ke dalam kepingan kecil dengan kriteria tertentu (seperti julat tarikh), 2) secara fizikal membahagikan data ke dalam fail bebas, 3) MystQL boleh memberi tumpuan kepada partisi yang berkaitan apabila pertanyaan, 4) Pengoptimal pertanyaan boleh melangkau partisi yang tidak berkaitan, 5) Memilih strategi partisi yang tepat dan mengekalkannya secara tetap adalah kunci.

Bagaimana anda memberikan dan membatalkan keistimewaan di MySQL?Bagaimana anda memberikan dan membatalkan keistimewaan di MySQL?Apr 27, 2025 am 12:21 AM

Bagaimana untuk memberikan dan membatalkan keizinan di MySQL? 1. Gunakan pernyataan geran untuk memberikan kebenaran, seperti GrantallPrivileGeSondatabase_name.to'username'@'host '; 2. Gunakan pernyataan membatalkan untuk membatalkan kebenaran, seperti RevokeAllPrivileGeSondatabase_name.from'username'@'host 'untuk memastikan komunikasi tepat pada masanya perubahan kebenaran.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma