一.数据库的备份
1.物理备份:直接复制数据库文件
2.逻辑备份:备份所有执行的sql语句
备份语法: mysqldump -h 服务器 -u 用户名 -p密码 数据库名 > 备份文件.sql
关键参数:
1.-B指定多个库,增加建库语句和use 语句,恢复的时候自动建库.
2.-A或者--all-databases
例如:C:\WINDOWS\system32>mysqldump -u root -p密码 -B -A> f:\数据库备份练习\all.sql
恢复语法:mysql -h 服务器 -u 用户名 -p密码 数据库名 < 备份文件.sql
3.导出表
二.创建用户,指定权限
1.创建用户
create user "用户名"@"ip地址" identified by "密码";
2.删除用户
drop user "用户名"@"ip地址" ;
3.修改用户
rename user "用户名"@"ip地址" to "新用户名"@"ip地址";
4.修改密码
set password for "用户名"@"ip地址" = password("新密码");
5.用户授权
grant 操作(insert,select等) on 库名[.表名] to "用户名"@"ip地址";
grant all privileges on 库名[.表名] to "用户名"@"ip地址";
6.撤销授权
revoke all on 库名[.表名] from "用户名"@"ip地址";
三.视图
1.创建视图
create view 视图名 as sql语句;
2.使用视图
视图就是一张根据as后面的sql语句新建的表,跟表的操作一样,但是修改视图数据,真实的数据也会被修改.
3.删除视图
drop view 视图名;
四.触发器(new表示即将插入的数据行,old表示即将删除的数据行)
1.创建触发器
create trigger 触发器名 before/after insert/update/delete on 表名 for each row
delimiter // # 临时修改结束符 create trigger tri_after_insert_cmd after insert on cmd for each row begin if new.success = 'no' then # 如果 ...然后.... INSERT INTO errlog(err_cmd, err_time) VALUES(NEW.cmd, NEW.sub_time) ; END IF ; # 结束if语句 END// #只有遇到//这个完成的sql才算结束 delimiter ; #然后将mysql的结束符改回为分号