mysql相关知识

设置mysql密码
SET PASSWORD = PASSWORD('cs@123456');


设置mysql远程连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.4.0' IDENTIFIED BY 'cs@123456' 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

 

posted on 2017-07-13 17:43  李栋94  阅读(175)  评论(0编辑  收藏  举报