Linux系统下mysql备份

1、mysql服务的启动控制
语法:service mysqld start/stop/restart
Linux系统下mysql备份
2、进入mysql和退出mysql
Linux系统下mysql备份
Linux系统下mysql备份
3、配置文件my.cnf路径
[[email protected] bin]# vi /etc/my.cnf
Linux系统下mysql备份
4、mysql中名词介绍
以Excel文件举例:
数据库:可以看作是整个excel文件。
数据表:可以看作是一个excel文件中的工作表。
行(记录):可以看作是一个工作表中的一行。
列(字段):可以看作是一个工作总的一列。

5、mysql中备份
特别提醒,我在这里指定备份路径的时候,发现老是写进不了指定的文件,在 > 后面记得多加空格
Linux系统下mysql备份

(1)全量备份(数据+结构):#mysqldump -root -pa123456 -A > 备份路径

问题:mysqldump未找到命令。
解决方法:[[email protected] ~]# ln -fs /usr/local/mysql/bin/mysqldump /usr/bin
Linux系统下mysql备份
Linux系统下mysql备份
问题:mysqldump:得到错误:1862:您的密码已经过期。
解决方法:把password_expired 改成不过期
1) vi /etc/my.cnf
[mysqld]
skip-grant-tables
:wq! #保存退出

2)mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
3)mysql> update user set password_expired=‘N’ where user=‘root’;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

4)mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

5)重启服务:service mysql restart
Linux系统下mysql备份
6)成功
Linux系统下mysql备份
(2)指定库备份(数据+结构):#mysqldump -root -pa123456 库名 > 备份路径

(3)多个库备份(数据+结构):#mysqldump -root -pa123456 --databases db1 db2 > 备份路径

(4)定时任务,每1分钟执行一次

执行脚本:
#!/bin/bash
filename=“test_”date +'%Y%m%d%H%M%S'".sql"
mysqldump -root -pa123456 mysql > /root/$filename
Linux系统下mysql备份
Linux系统下mysql备份
每1分钟执行一次。 crontab -e
Linux系统下mysql备份
Linux系统下mysql备份
Linux系统下mysql备份