1. 程式人生 > >mysql相關知識

mysql相關知識

cts 數據 usr arc lba vim structure 文件 mysql遠程連接

設置mysql密碼
SET PASSWORD = PASSWORD([email protected]);


設置mysql遠程連接
GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY [email protected] WITH GRANT OPTION;

忘記mysql密碼
UPDATE mysql.user SET Password=PASSWORD(‘123456‘) where USER=‘root‘;
flush privileges;
exit


備份mysql數據庫
mysqldump -u root -p mysql > mysql.6.13
刪除數據庫之後必須新建一個庫才能恢復,不然會報沒有這個數據庫
恢復數據庫
mysql --user root --password=123456 mysql < mysql.6.13

計劃任務定時備份
mkdir -p /root/mysql_dump/data
cd /root/mysql_dump
touch mysql_back.sh
chmod 755 mysql_back.sh

# 編輯備份腳本
vim mysql_back.sh

################下面是備份腳本的內容
#!/bin/sh
# File: /root/mysql_dump/mysql_back.sh
# Database info
DB_NAME="cncounter"
DB_USER="root"
DB_PASS="mypasssecret"
# Others vars
# whereis mysqldump
# IS ` but not ‘
BIN_DIR="/usr/bin"
BCK_DIR="/root/mysql_dump/data"
DATE=`date +%Y%m%d_%H%M%S`
# TODO
mkdir -p $BCK_DIR
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS $DB_NAME \
> $BCK_DIR/$DB_NAME.dump_$DATE.sql


要是備份的文件很大可以使用gzip壓縮
/usr/bin/mysqldump --opt -uroot -pmypasssecret cncounter | gzip \
> /root/mysql_dump/data/cncounter.dump_`date +%Y%m%d_%H%M%S`.sql.gz


添加到crontab -e
1 1 * * * /root/mysql_dump/mysql_back.sh


使用Mysqldump 備份數據庫

1.備份一個數據庫

mysqldump --user [user name] --password=[password] [database name] > [dump file]
or
mysqldump -u[user name] -p[password] [database name] > [dump file]

示例:

mysqldump --user root --password=myrootpassword db_test > db_test.sql
or
mysqldump -uroot -p myrootpassword db_test > db_test.sql

2.備份多個數據庫

mysqldump -u[user name] -p[password] [database name 1] [database name 2] .. > [dump file]

示例:

mysqldump --user root --password=myrootpassword db_test db_second db_third > db_test.sql

3.備份所有數據庫

mysqldump -u [user name] -p [password] --all-databases > [dump file]

4.備份某個表

mysqldump --user [username] --password=[password] [database name] [table name] /tmp/sugarcrm_accounts_contacts.sql

示例:

mysqldump --user root --password=myrootpassword db_test customers db_test_customers.sql

5.恢復數據庫

mysql --u [username] --password=[password] [database name] < [dump file]

示例:

mysql --user root --password=myrootpassword new_db < db_test.sql

直接將MySQL數據庫壓縮備份

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
備份MySQL數據庫某個(些)表

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
同時備份多個MySQL數據庫

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql
僅僅備份數據庫結構

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
備份服務器上所有數據庫

mysqldump –all-databases > allbackupfile.sql
還原MySQL數據庫的命令

mysql -hhostname -uusername -ppassword databasename < backupfile.sql
還原壓縮的MySQL數據庫

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

8.一次備份多個數據庫
mysql dump -uroot -p123456 --databases db1 db2 >f:\muldbs.sql
還原部分分(1)mysql 命令行source方法 和 (2)系統命令行方法
1.還原全部數據庫:
(1) mysql 命令行:mysql >source f:\all.sql
(2) 系統命令行: mysql -uroot -p123456 <f:\all.sql
2.還原單個數據庫(需指定數據庫)
(1) mysql >use mydb
mysql >source f:\mydb.sql
(2) mysql -uroot -p123456 mydb <f:\mydb.sql
3.還原單個數據庫的多個表(需指定數據庫)
(1) mysql >use mydb
mysql >source f:\multables.sql
(2) mysql -uroot -p123456 mydb <f:\multables.sql
4.還原多個數據庫,(一個備份文件裏有多個數據庫的備份,此時不需要指定數據庫)
(1) mysql 命令行:mysql >source f:\muldbs.sql
(2) 系統命令行: mysql -uroot -p123456 <f:\muldbs.sql

mysql相關知識