目录
十九、DBA命令(数据库管理员)
1)新建用户
语法:create user 用户名 identified by '密码';
密码可以为空,如果为空则该用户可以不需要密码登陆服务器;
示例:create user yuan identified by '123';
可以登陆,但是只能看到一个库 information_schema
2)查看用户
查询全部用户:select user,host from mysql.user;
查看用户权限:select * from mysql.user where user='用户名'\G
\G代表每个字段单独打印;
3)删除用户
drop user 用户名;
drop user 用户名@IP名;
4)授权(必须登陆管理员进行授权)
1.语法:
grant all privileges on 数据库名.表名 to '用户名'@'ip' identified by '密码' with grant option;
grant all privilege on *.* to 'yuan'@'%' identified by '123' with grant option;
(可以给其它用户授权)
grant all on *.* to 'guo'@'%' identified by '123' with grant option;(可以给其它用户授权)
grant all on *.* to 'guo'@'%' identified by '123';(不能给用户授权)
示例:
grant all privilege on bjpowernode.emp to 'yuan'@'login ip' identified by '123' with grant option;
dbname:*表示所有数据库
tbname:*表示所有表
login ip:%表示任何ip
With grant option:表示该用户还可以授权给其它用户
2.细密度授权
①以管理员root登陆MySQL;
②输入grant all on *.* to 'guo'@'%' identified by '123';进行全部操作授权;
③如果希望在任何机器上面登陆mysql,则将localhost写成‘%’;
3.粗密度授权
我们测试用户一般使用该命令授权:
grant all on *.* to 'guo'@'%' identified by '123';
注意:
用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:
grant all on *.* to 'guo'@'%' identified by '123' with grant option;
4.用户权限privileges包括:
①select:查看表数据
②insert:添加表数据
③update:修改表数据
④delete:删除表数据
⑤create:创建新的数据库/表
⑥alert:修改数据库/表
⑦drop:删除数据库/表
⑧index:创建/删除索引
⑨all:允许任何吃操作
⑩usage:只能登陆
5)回收权限
1.语法:revoke all privileges on 数据库.表名 from 用户名;
示例:revoke all privileges on *.* from yuan;
2.修改密码
update user set password=password('修改密码') where user='用户名';
update user set password=password('456') where user='yuan';
3.刷新权限
flush privileges;
6)导入导出
1.导出:mysqldump
导出整个数据库:
Mysqldump 数据库>路径:文件名称.sql -u用户名 -p密码
mysqldump bjpowernode>E:yuan.sql -uroot -proot
导出指定库下的指定表:
Mysqldump 数据库 表>路径:文件名称.sql -u用户名 -p密码
mysqldump bjpowernode emp>E:bjpowernode.sql -uroot -proot
2.导入:source
登陆mysql:msyql -uroot -proot
创建数据库:create database yuan;
选择数据库:use yuan;
导入数据库:source E:yuan.sql