MySQL备份与恢复之真实环境使用冷备(2)

2019-01-04 22:00:23王冬梅

第九步,删除数据库文件

[root@serv01 ~]# rm -rf /usr/local/mysql/data/*

 
第十步,挂载

[root@serv01 ~]# mount /dev/data/mydata /usr/local/mysql/data/ [root@serv01 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 9.7G 2.4G 6.8G 27% / tmpfs 188M 0 188M 0% /dev/shm /dev/sda1 194M 25M 160M 14% /boot /dev/sda5 4.0G 160M 3.7G 5% /opt /dev/sr0 3.4G 3.4G 0 100% /iso /dev/mapper/data-mydata 2.0G 67M 1.9G 4% /usr/local/mysql/data

 
第十一步,将挂载信息写入配置文件

[root@serv01 opt]# echo "/dev/mapper/data-mydata /usr/local/mysql/data ext4 defaults 1 2" >> /etc/fstab [root@serv01 opt]# tail -n1 /etc/fstab /dev/mapper/data-mydata /usr/local/mysql/data ext4 defaults 1 2


第十二步,停掉数据库

[root@serv01 ~]# /etc/init.d/mysqld stop ERROR! MySQL server PID file could not be found! [root@serv01 ~]# ps -ef | grep mysqld root 1055 1 0 18:05 ? 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/serv01.host.com.pid mysql 1332 1055 0 18:05 ? 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/serv01.host.com.err --pid-file=/usr/local/mysql/data/serv01.host.com.pid --socket=/tmp/mysql.sock --port=3306 root 1885 1490 0 18:18 pts/0 00:00:00 grep mysqld [root@serv01 ~]# pkill -9 mysql [root@serv01 ~]# ps -ef | grep mysqld root 1888 1490 0 18:18 pts/0 00:00:00 grep mysqld [root@serv01 ~]# chown mysql.mysql /usr/local/mysql/data/ -R [root@serv01 opt]# ll /usr/local/mysql/data/ total 0 [root@serv01 opt]# ll /usr/local/mysql/data/ -d drwxr-xr-x. 2 mysql mysql 4096 Sep 10 18:17 /usr/local/mysql/data/

第十三步,恢复数据

[root@serv01 opt]# tar -xPvf mysql01.tar.gz

 
第十四步,启动数据库,登录MySQL,然后查看数据是否丢失

[root@serv01 opt]# /etc/init.d/mysqld start Starting MySQL SUCCESS! [root@serv01 ~]# mysql Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 1 Server version: 5.5.29-log Source distribution Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> use larrydb; Database changed mysql> show tables; +-------------------+ | Tables_in_larrydb | +-------------------+ | class | | stu | +-------------------+ 2 rows in set (0.00 sec) mysql> select * from class; +------+--------+ | cid | cname | +------+--------+ | 1 | linux | | 2 | oracle | +------+--------+ 2 rows in set (0.01 sec) mysql> select * from stu; +------+---------+------+ | sid | sname | cid | +------+---------+------+ | 1 | larry01 | 1 | | 2 | larry02 | 2 | +------+---------+------+ 2 rows in set (0.00 sec)