Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
7. backup & restore data
1. Hệ quản trị cơ sở dữ liệu
Backup and Restore Data
Dư Phương Hạnh
Bộ môn Hệ thống thông tin
Khoa CNTT, trường Đại học Công nghệ
Đại học Quốc gia Hanoi
hanhdp@vnu.edu.vn
2. Outline
Using mysqldump utility to back up tables in a
single or multiple databases.
Using backup files with mysql monitor to restore
databases or tables.
Using binary logs to update restored databases.
Using various mysqldump Options.
Read more at:
http://mysql-tools.com/en/backup-restore-data-mysql.htm
2
Hệ quản trị CSDL @ BM HTTT
3. Introduce
Despite the steps you take to secure and protect your
databases, events such as power failures, natural
disasters, and equipment failure can lead to the corruption
and loss of data.
Ensure that MySQL databases are backed up regularly
should be part of any maintenance routine.
These backup files will contain the database and table
definitions necessary to re-create your database structure
as well as the instructions necessary to repopulate your
tables.
3
Hệ quản trị CSDL @ BM HTTT
4. Introduce
Using these backup files, you can recover your data to the
state it was in at the time you performed the last backup.
Further, you can use the binary log files to recover your data
to post-backup current state.
The mysqldump program is the primary method in MySQL
for backing up tables and databases and it can back up
individual databases, tables in those databases, or multiple
databases. When you run mysqldump, the utility creates a
text file that contains the SQL statements necessary to
create your database and tables safely and add data to
those tables.
4
Hệ quản trị CSDL @ BM HTTT
5. Usage of mysqldump utility
It is possible to back up databases simply by
copying the data directory to a backup location. This
method has several limitations, though.
– if data is being accessed and updated during file copy,
you might be copying tables that are in an inconsistent
state.
– file-level copying may help MyISAM tables but InnoDB
tables can be more complicated at file level.
5
Hệ quản trị CSDL @ BM HTTT
6. Using mysqldump
Syntax:
mysqldump [options] dbname [tables]
mysqldump [options] --databases [moreoptions]
dbname1 [dbname2 ...]
mysqldump [options] --all-databases [moreoptions]
6
Hệ quản trị CSDL @ BM HTTT
7. Using mysqldump
Options:
--no-create-info: Creates no CREATE TABLE
commands, but only the INSERT commands.
--no-data : Creates no INSERT commands (but only
CREATE TABLE commands in order to restore the
database schema).
7
Hệ quản trị CSDL @ BM HTTT
8. Set Variables
MySQL saves some system values in user-defined
variables to restore the original system settings
should they be changed by any of the statements
while executing the backup file
thereby ensuring that your environment is left in the
same state after the restore via execution of the
statements in the backup file.
8
Hệ quản trị CSDL @ BM HTTT
9. Set Variables
/*!40101 SET
@OLD_CHARACTER_SET_CLIENT=CHARACTER_SET_CLIENT */;
/*!40101 SET
CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
SET statements begin with the /*! symbols and end with the */
symbols. The symbols ensure the statements are executed by
MySQL but ignored if they are executed in another database
management system
The number followed those symbols represents a MySQL
server version.
9
Hệ quản trị CSDL @ BM HTTT
10. Flush Logs
Binary log files allow you to restore your database
fully. The option --flush-logs flushes your log files
and a new binary log file is created.
By flushing the logs, you get an exact starting point
for using the binary logs when refreshing your
restored database. It is recommended that you use
the --flush- logs option whenever you back up your
data.
10
Hệ quản trị CSDL @ BM HTTT
12. Restore Data
If you have backed up your files regularly and
enabled binary logging, restoring your database
consists of two steps:
– Use the mysql monitor to execute the backup script to
reload a MySQL database.
– Use the appropriate binary logs to update the database.
These two steps restore a database to the point of
database errors, thus preventing any significant
data loss in case of a faulure or a disaster.
12
Hệ quản trị CSDL @ BM HTTT
13. Restore Data
If you are restoring data from a backup file that does
not include a database definition, the database
must exist before restoring.
CREATE DATABASE sakila1;
Use sakila1;
Source D:ProgramsEasyPHPtmpsakila1.sql
or
Mysql –u root –pa test<
13
D:ProgramsEasyPHPtmpsakila1.sql
Hệ quản trị CSDL @ BM HTTT
14. Update the Restored db From Binary Log
Files
Once database is reloaded, the data is only as
current as your last backup, which is where binary
logging comes in.
After you reload your database into your system,
you will most likely want to get the database to its
most current state since it was backed up. You will
use binary logs which track all data modifications
that occur in your databases.
14
Hệ quản trị CSDL @ BM HTTT
15. Update the Restored db From Binary Log
Files
MySQL provides two methods for applying updates
from a binary log:
– restoring data directly from the binary log file
– exporting binary log data to a text file and then restoring it
from that file.
You must have binary logging enabled on your
system to be able to use it to update a restored
database, covered in other lessons.
15
Hệ quản trị CSDL @ BM HTTT
16. Restoring Data Directly From a Binary
Log
Mysqld --log-bin
mysqlbinlog “D:ProgramsEasyPHPmysqldata
HN-bin.000001”
mysqlbinlog
"D:ProgramsEasyPHPmysqldataHN-bin.000001"
> D:ProgramsEasyPHPmysqldatalog.txt
mysqlbinlog
"D:ProgramsEasyPHPmysqldataHN-bin.000005"
|mysql -u root –p --one-database sakila1
16
Hệ quản trị CSDL @ BM HTTT
17. Restoring Binary Log Data From a Text
File
You can sort through the text file to remove any
statements that you don't want to execute.
The larger the log file, the more difficult this process
can be, but there might be times when this is the
only way you can ensure that your database is fully
restored.
After you're satisfied that the text file contains only
the correct statements, you can use the mysql client
utility to execute the statements.
17
Hệ quản trị CSDL @ BM HTTT
18. Restoring Binary Log Data From a Text
File
Mysqlbinlog “D:ProgramsEasyPHPmysqldata HNbin.000001” > HN-bin000001.txt
After editing the text file as necessary, execute the
statements in the text file.
Mysql -u root –p –one-database < HN-bin000001.txt
18
Hệ quản trị CSDL @ BM HTTT
19. Exercise
Tạo CSDL test
Tạo bảng bảng table1(ID int, Text text);
Bật chế độ log-bin
Chèn dữ liệu vào bảng.
Backup test.
Xoá một bản ghi trong table1.
Khôi phục lại test từ file backup.
Sử dụng logs để khôi phục table1 về trạng thái gần
19
nhất (dùng 2 cách).
Hệ quản trị CSDL @ BM HTTT