关于mysql备份与恢复的操作

逻辑备份:将数据库的数据以逻辑的SQL语句的方式导出

mysqldump备份数据库

备份数据并带创建数据库 (含数据)
mysqldump -uroot -p'123456' -B dbname > /mnt/dbname_bak_B.sql
导出数据库中的某张数据表的表结构(不含数据)
mysqldump -u username -p -d dbname tablename > tablename.sql

恢复数据库操作

#删除mytest库
mysql -uroot -p'123456' -e "drop database dbname;"
#恢复数据
mysql -uroot -p'123456' < /mnt/dbname_bak_B.sql 
#查看数据
mysql -uroot -p'123456' -e "select * from database.tablename;"
  • mysqldump常用参数说明
-A --all-databases 导出全部数据库
-B --databases 导出指定的几个数据库,其中备份语句后会有建库操作
-x --lock-all-tables 提交请求锁定所有数据库中的所有表,以保证数据的一致性
-E --events:导出事件
-d --no-data:不导出任何数据

物理备份

先进入MariaDB然后执行select @@datadir;得到目录/var/lib/mysql/
然后停库systemctl stop mariadb
复制数据库目录scp /usr/local/mysql/data root@192.168.25.144:/home/omc
备份完后记得启动数据库systemctl start mariadb
查看状态systemctl status mariadb

数据库迁移到/data/mysql

创建目录和设置权限
mkdir /data/mysql
chown -R mysql:mysql /data/mysql/
chmod 777 /data/mysql/
然后停库systemctl stop mariadb
修改配置

nano /etc/my.cnf.d/mariadb-server.cnf
datadir=/data/mysql
socket=/data/mysql/mysql.sock

复制数据库文件cp -a /var/lib/mysql/* /tpdata/mysql/
启动数据库systemctl start mariadb
查看状态systemctl status mariadb

posted @ 2019-12-24 16:18  天祈笨笨  阅读(141)  评论(0编辑  收藏  举报