MySQL备份时排除指定数据库的方法_MySQL
使用mysqldump命令备份时候,--all-databases 可以备份所有的数据库。 使用ignore-table 还可以排除制定的表。但是,mysqldump没有参数可以排除数据库的。
要备份的数据库少的时候,可以通过mysqldump -uroot -p123456 --databases db1 db2 db3 > mysqldump.sql 这样来备份。
但是假如数据库有数十个的话,这样写起来很累人,也很low。解决办法还是有的,看下面:
【下面演示用的mysql用户名的root,密码123456】
mysql -uroot -p123456 -e 'show databases;'|grep -E -v "Database|information_schema|mysql|test" |xargs mysqldump -uroot -p123456 --databases > mysqldump1.sql
但是很不幸的是,在mysql5.5上执行备份时报错了。
查了下资料,发现是由于5.5以后,mysql的performance_schema库导致的。那我们备份时跳过该库即可,下面2种方法任选:
1、mysql -uroot -p123456 -e 'show databases;'|grep -E -v "Database|information_schema|mysql|test"|xargs mysqldump -uroot -p123456 --skip-lock-tables performance_schema --databases > 2.sql 2、mysql -uroot -p123456 -e 'show databases;'|grep -E -v "Database|information_schema|mysql| performance_schema" |xargs mysqldump -uroot -p123456 --databases > 3.sql
我更喜欢第二种的写法。
下面是我写的一个备份的mysql的脚本,每天夜里执行一次。写的简单些,语句也没有做优化。
#!/bin/bash # Description: backup mysql data # Author: lee FILE="mysql_`date +%F`" BACKDIR="/mysqlbackup" CONF_FILE="/etc/my.cnf" mysql -uroot -e 'show databases'|egrep -v "Database|information_schema|performance_schema" \ |xargs mysqldump -uroot --databases > $BACKDIR/$FILE.sql && cp $CONF_FILE $BACKDIR/$FILE.cnf \ && echo -e "Machine: Oracle\nIP: 172.16.10.12\nStatus: MySQL is backup complete" | \ mail -s "MySQL BackUP Complete" lee@126.com
下图的代码看的更清楚写。
下面给大家介绍下MySQL使用mysqldump备份数据库时排除指定表
#!/bin/sh for j in `mysql -uroot -e "USE spservice;SHOW TABLES" | grep -v Tables` do case $j in mo_log|mt_log|report_info) : ;; *) mysqldump -uroot --default-character-set=gbk --opt spservice $j >> $j.sql esac done >>表名不固定 #!/bin/sh for j in `mysql -uroot -e "USE spservice;SHOW TABLES" | grep -v Tables` do for i in "$@" do if [ $j != $i ];then mysqldump -uroot --default-character-set=gbk --opt spservice $j >> $j.sql fi done done >>更简洁的方法 #!/bin/sh for j in `mysql -uroot -e "USE spservice;SHOW TABLES" | grep -v Tables` do echo $@ | grep -wq "\" if [ $? -ne 0 ];then mysqldump -uroot --default-character-set=gbk --opt spservice $j >> $j.sql fi done >>使用方法 sh exclude.sh mo_log mt_log report_log #定义一个shell数组 tables=(mo_log mt_log report_log) sh exclude.sh ${tables[@]}
以上就是MySQL备份时排除指定数据库的方法_MySQL的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

The process of starting MySQL in Docker consists of the following steps: Pull the MySQL image to create and start the container, set the root user password, and map the port verification connection Create the database and the user grants all permissions to the database

Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

I encountered a tricky problem when developing a small application: the need to quickly integrate a lightweight database operation library. After trying multiple libraries, I found that they either have too much functionality or are not very compatible. Eventually, I found minii/db, a simplified version based on Yii2 that solved my problem perfectly.

The key to installing MySQL elegantly is to add the official MySQL repository. The specific steps are as follows: Download the MySQL official GPG key to prevent phishing attacks. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting

Installing MySQL on CentOS involves the following steps: Adding the appropriate MySQL yum source. Execute the yum install mysql-server command to install the MySQL server. Use the mysql_secure_installation command to make security settings, such as setting the root user password. Customize the MySQL configuration file as needed. Tune MySQL parameters and optimize databases for performance.

Article summary: This article provides detailed step-by-step instructions to guide readers on how to easily install the Laravel framework. Laravel is a powerful PHP framework that speeds up the development process of web applications. This tutorial covers the installation process from system requirements to configuring databases and setting up routing. By following these steps, readers can quickly and efficiently lay a solid foundation for their Laravel project.

MySQL is suitable for web applications and content management systems and is popular for its open source, high performance and ease of use. 1) Compared with PostgreSQL, MySQL performs better in simple queries and high concurrent read operations. 2) Compared with Oracle, MySQL is more popular among small and medium-sized enterprises because of its open source and low cost. 3) Compared with Microsoft SQL Server, MySQL is more suitable for cross-platform applications. 4) Unlike MongoDB, MySQL is more suitable for structured data and transaction processing.
