目录
视图
视图是一个虚拟表, 内容由查询定义。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。
create view view_name as select语句; drop view view_name;
用户管理
如果只使用root 用户,会存在安全隐患,需要使用MySQL 的用户管理。
MySQL 的用户管理储存在mysql 数据库中,
如何增加普通用户
create user '用户名'@'登陆主机/ip' identified by '密码';
可能实际在设置密码的时候,因为mysql本身的认证等级比较高,一些简单的密码无法设置,会报错.
关于新增用户这里,需要大家注意: 不要轻易添加一个可以从任意地方登陆的user。
修改密码:
-
自己改自己的密码:
set password=password('新的密码'); -- 5.7 版本 set authentication_string=password('new_password'); -- 5.6 版本
-
root用户修改指定用户的密码
set password for '用户名'@'主机名'=password('新的密码'); --也可以使用update: update user set authentication_string=password('new_password') where user='用户名' andhost='主机名'
x如何给用户赋权
刚刚创建的用户没有任何权限,需要给用户赋权。
grant 权限列表 on 库.对象名 to '用户名'@'登陆位置' [identified by '密码']
-
权限列表,多个权限用逗号分开。
grant select on... grant select, delete, create, drop on grant all [privileges] on ... -- 表示赋予该用户在该对象上的所有权限
-
*.* :本系统中所有的数据库的所有对象,包括表、视图、存储过程。
-
库名.* :某个数据库的所有数据对象,包括表、视图、存储过程。
-
identified by 可选。如果用户存在,赋予权限的同时修改密码,如果用户不存在就是创建用户。
-
如果赋权完毕后发现没有立即生效,就使用下列命令。
flush privileges;
如何给用户取消权限
回收权限:
revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';
比如:
revoke all on test.* from 'amor'@'localhost';
如何删除普通用户
drop user '用户名'@'主机名'
要带上主机名,否则不能删除,默认的是删除的是: '用户名'@'%'。
mysql 图形化界面
Mysql 图形化界面:mysql workbench
可以用 mysql workbench + windows(mysql) 不跨网络
也可以用mysql workbench + linux(mysql) 跨网络,比较仿真,但是不太安全。
备份和恢复
-
备份:
mysqldump -P3306 -uroot -p 'password' -B database_name > 数据库备份储存的文件路径,以.sql 结尾 -- -P 代表端口号
-
还原:
source ../...路径/xxx.sql;
-
如果只是备份库里的一个表,就在database_name 之后加上表名。