Đây là đoạn script backup MySQL database nhỏ gọn, đem về điều chỉnh cho phù hợp với mục đích nhu cầu sử dụng của mình.
Nếu bạn muốn test thử thì cài đặt MySQL trước tiên
## Remi Dependency on CentOS 5 and Red Hat (RHEL) 5 ##
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
## CentOS 5 and Red Hat (RHEL) 5 ##
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
# yum --enablerepo=remi install mysql mysql-server
Sau khi cài đặt xong thì bật dịch vụ mysqld lên sau đó thì
# /usr/bin/mysql_secure_installation
Để cho nó "hỏi" bạn set mật khẩu root , cho phép người dùng ở xa truy cập vào MySQL server, xóa bỏ database tên là test,...
Sau đó bạn đăng nhập vào MySQL, thử tạo database như sau
mysql> create database ftpd;
Query OK, 1 row affected (0.00 sec)
mysql> create database ftp;
Query OK, 1 row affected (0.00 sec)
Nếu cần thiết thì tạo user sau đó gán quyền thích hợp
## CREATE USER ##
mysql> CREATE USER 'admin'@'10.0.15.25' IDENTIFIED BY 'password';
## GRANT PERMISSIONS ##
mysql> GRANT ALL ON admin.* TO admin@'10.0.15.25';
## FLUSH PRIVILEGES, Tell the server TO reload the GRANT TABLES ##
mysql> FLUSH PRIVILEGES;
#!/bin/bash
PATH=/usr/sbin:/sbin:/bin:/usr/bin
MyUSER="root"
MyPASS="admins"
MyHOST="127.0.0.1"
SUBFOLDER="$(date +"%Y-%m-%d")"
DEST="/home/backup"
MDB="$DEST/backup/$SUBFOLDER"
if [ ! -d $MDB ]
then
mkdir -p $MDB >/dev/null 2>&1 && echo "Directory $MDB created." || echo "Error: Failed to create $MDB directory."
else
echo "Error: $MDB directory exits!"
fi
NOW="$(date +"%Y-%m-%d_%H-%M-%S")"
FILE=""
DBS="$(mysql -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"
for db in $DBS
do
FILE="$MDB/$db.$NOW.sql.gz"
mysqldump --single-transaction -u $MyUSER -h $MyHOST -p$MyPASS --complete-insert $db | gzip -9 > $FILE
echo "Backup $FILE.....DONE"
done
Đây là thông tin output
Backup /home/backup/backup/2011-12-17/information_schema.2011-12-17_04-10-42.sql.gz.....DONE
Backup /home/backup/backup/2011-12-17/ftp.2011-12-17_04-10-42.sql.gz.....DONE
Backup /home/backup/backup/2011-12-17/ftpd.2011-12-17_04-10-42.sql.gz.....DONE
Backup /home/backup/backup/2011-12-17/mysql.2011-12-17_04-10-42.sql.gz.....DONE
Backup /home/backup/backup/2011-12-17/performance_schema.2011-12-17_04-10-42.sql.gz.....DONE
Trường hợp nếu chạy báo lỗi
mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'cond_instances' when using LOCK TABLES
Thì trong script bạn cần thêm --single-transaction
0 nhận xét:
Đăng một Nhận xét