Tampilkan postingan dengan label MySQL. Tampilkan semua postingan
Tampilkan postingan dengan label MySQL. Tampilkan semua postingan
MYSQL BAKUP USING SHELLS SCRIPTS

MYSQL BAKUP USING SHELLS SCRIPTS



Kindly find the MYSQL shells scripts in given below.

-------------------------------------------------------------------------------------------------------

#! /bin/bash

# You are free to modify and distribute this code,
# so long as you keep my name and URL in it.

# your MySQL server's name
SERVER=10.0.0.125

# directory to backup to
BACKDIR=/root/mysqlbackup/

# date format that is appended to filename
DATE=`date +'%m-%d-%Y'`

#----------------------MySQL Settings--------------------#

# your MySQL server's location (IP address is best)
HOST="10.0.0.125"

# MySQL username
USER="root"

# MySQL password
PASS="xxxxx"

# List all of the MySQL databases that you want to backup in here, 
# each separated by a space
DBS="XXXX"

# set to 'y' if you want to backup all your databases. this will override
# the database selection above.
DUMPALL="n"


#----------------------Mail Settings--------------------#

# set to 'y' if you'd like to be emailed the backup (requires mutt)
MAIL=y

# email addresses to send backups to, separated by a space
EMAILS="suppport@magicalbinary.com"

SUBJECT="MySQL backup on $SERVER ($DATE)"

#----------------------FTP Settings--------------------#

# set "FTP=y" if you want to enable FTP backups
FTP=n

# FTP server settings; should be self-explanatory
FTPHOST="10.0.0.127"
FTPUSER="XXX"
FTPPASS="XXX"

# directory to backup to. if it doesn't exist, file will be uploaded to 
# first logged-in directory
FTPDIR="/home/value"

#-------------------Deletion Settings-------------------#

# delete old files?
DELETE=y

# how many days of backups do you want to keep?
DAYS=6

#----------------------End of Settings------------------#
# check of the backup directory exists
# if not, create it
if  [ -e $BACKDIR ]
then
    echo Backups directory already exists
else
    mkdir $BACKDIR
fi

if  [ $DUMPALL = "y" ]
then
    echo "Creating list of all your databases..."

    mysql -h$HOST -u$USER -p$PASS "dlr" "dlr"  > dbs_on_$SERVER.txt

    # redefine list of databases to be backed up
    DBS=`sed -e ':a;N;$!ba;s/\n/ /g' -e 's/Database //g' dbs_on_$SERVER.txt`
fi

echo "Backing up MySQL databases...$DBS"
read p1
for database in $DBS
do
    mysqldump -h$HOST -u$USER -p$PASS $database dlr > "$BACKDIR/$SERVER-mysqlbackup-$database-$DATE.sql"
    gzip -f -9 "$BACKDIR/$SERVER-mysqlbackup-$database-$DATE.sql"

# if you have the mail program 'mutt' installed on
done
# your server, this script will have mutt attach the backup
# and send it to the email addresses in $EMAILS

if  [ $MAIL = "y" ]
then
BODY="Your backup is ready, please check"
ATTACH=`for file in $BACKDIR/*$DATE.sql.gz; do echo -n "-a ${file} ";  done`

    echo "$BODY" | mutt -s "$SUBJECT" $ATTACH $EMAILS
        
    echo -e "Your backup has been emailed to you! \n"
fi

if  [ $FTP = "y" ]
then
echo "Initiating FTP connection..."
cd $BACKDIR
ATTACH=`for file in *$DATE.sql.gz; do echo -n -e "put ${file}\n"; done`

    ftp -nv <<EOF
    open $FTPHOST
    user $FTPUSER $FTPPASS
    cd $FTPDIR
    $ATTACH
    quit
EOF
echo -e  "FTP transfer complete! \n"
fi

if  [ $DELETE = "y" ]
then
    find $BACKDIR -name "*.sql.gz" -mtime $DAYS -exec rm {} \;

    if  [ $DAYS = "1" ]
    then
        echo "Yesterday's backup has been deleted."
    else
        echo "The backup from $DAYS days ago has been deleted."
    fi
fi

echo Your backup is complete!
Hướng dẫn remote mysql [đặt 1 code ở 1 VPS, data ở VPS khác]

Hướng dẫn remote mysql [đặt 1 code ở 1 VPS, data ở VPS khác]

Hướng dẫn remote mysql [đặt 1 code ở 1 VPS, data ở VPS khác]

kết nối code ở 1 VPS với 1 data ở 1 VPS khác. Cả 2 đều chạy VPSSIM (nginx, mysql chạy mariadb và PHP như chúng ta đã biết). Hôm nay mình hướng dẫn các bạn coi như là 1 TUT cho những ai cần nhé.
Cách làm khá đơn giản, các bạn có thể áp dụng cho mọi VPS và Hosting (có hỗ trợ tính năng remote mysql).
1, Trước tiên làm sao để biết VPS hay Host có hỗ trợ remote mysql (trên VPS or Host chứa data thôi nhé còn bên VPS/Host chứa code thì không cần):
  • Trên VPS chứa data: các bạn xem trong file /etc/my.cnf (file này trên VPSSIM thì nó ở /etc/my.cnf.d/server.cnf nếu có chứa dòng sau thì các bạn xóa nó đi nhé:
    bind-address = 127.0.0.1 (xóa dòng này đi)
  • Trên Hosting (ở đây mình ví dụ là Directadmin còn trên CP11 thì mình ko rõ là có như vậy ko vì chưa làm trên CP11 bao giờ) thì các bạn ấn vào Mysql Management


Nếu Host cho phép remote thì khi các bạn ấn vào tên data cần remote từ bên khác sang, các bạn sẽ thấy chức năng Add Host như hình dưới đây:


2, Các bước làm như sau:
a, Nếu các bạn sử dụng 1 VPS chứa data.
- Hãy truy cập vào phpmyadmin (trên VPS ko cài phpmyadmin thì mình chắc là các bạn tự biết cách làm tương tự ) và vô phần User, tạo 1 user mới bằng cách nhấn vào Add userngay bên dưới như hình dưới đây:


  • Hãy điền các thông số User Name, Host, Password và Re-type của password. Chú ý mục Host hãy chọn Use text field sau đó điền ip của VPS/Host chứa code như hình dưới:

Các mục khác các bạn không làm gì cả rồi ấn Go dưới cùng.
  • Rồi giờ thì hãy add user đó vào data mà các bạn muốn remote bằng cách quay lại phần User và chọn Edit Previleges :

  • Sau đó click vào Database:


Click chọn 1 database mà các bạn muốn remote rồi ấn Go nó sẽ đưa bạn đến mục Database-specific privileges, hãy Check all rồi ấn Go tiếp:


  • Vậy là xong bên VPS chứa data, qua bên VPS/Host chứa code, các bạn mở file config data lên, thay vì điền localhost hãy điền ip của bên VPS chứa data, thông tin khác thì cũng điền cho khớp với bên VPS chứa data.
  • Rồi tận hưởng thành quả thôi!!!
b, Nếu các bạn sử dụng Host để chứa data:
- Các bạn chỉ cần vô Host, vào Mysql Management, click vào tên data muốn remote, bên dưới các bạn điền ip của bên VPS/Host chứa code và ấn Add Host như hình dưới đây:


  • Vậy là xong bên VPS chứa data, qua bên VPS/Host chứa code, các bạn mở file config data lên, thay vì điền localhost hãy điền ip của bên Host chứa data, thông tin khác thì cũng điền cho khớp với bên Host chứa data.
Nhìn thì có vẻ phức tạp nhưng nói thật là làm chỉ mất mấy phút là xong. Bài viết này được mình tự tay biên soạn, nếu copy, xin hãy ghi rõ nguồn nhé. Xin cảm ơn.

nguồn: http://diendan.w4vn.net/t/topic/28

Kategori

Ads

Kategori