设置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