MySQL访问控制系统入门

MySQL访问控制系统入门

MySQL访问控制由两部分构成

    连接时验证:使用有效的用户名和密码来进行登录操作
    执行时验证:每个需要执行的SQL语句,MySQL会检查登录的用户是否具有偶足够的权限来执行该语句。

权限位置

mysql数据库包含5个主要的授权表
user表:包含用户账户和全局权限列。我们登录所用到的用户信息都保存在这儿。
d b 表:包含数据库级权限。
table_priv和columns_priv表:包含表级和列级权限
procs_priv表:包含存储函数和存储过程的权限

创建用户账户

CREATE USER ada IDENTIFIED BY ‘ada’;
CREATE USER aea@localhost IDENTIFIED BY ‘aea’;–新建本地账户
CREATE USER aea@% IDENTIFIED BY ‘aea’;–新建远程和本地账户
CREATE USER aea@192.168.0.110 IDENTIFIED BY ‘aea’;–新建远程ip制定账户

–查看账户权限
SHOW GRANTS FOR aea@localhost;
–GRANT USAGE ON . TO ‘aea’@‘localhost’ IDENTIFIED BY PASSWORD ‘aaa’
. 显示 yl 用户帐户只能登录到数据库服务器, 没有其他权限
–两个星号的区别:前者表示数据库, 后者表示表

–刷新权限、在删除账户,新建账户并授权之后
FLUSH PRIVILEGES;

授予权限

RANT PRIVILEGES,[PRIVILEGES],… ON privilege_level
TO USER[IDENTIFIED BY aea]
[REQUIRE tsl_option]
[WITH[grant_option|resource_option]];

FLUSH PRIVILEGES;
授予所有权限
GRANT ALL ON . TO ‘aea’@‘localhost’ WITH GRANT OPTION;
SHOW GRANTS FOR aea@localhost;
FLUSH PRIVILEGES;

撤销权限
REVOKE privilege_type[(column_List)]
[,priv_type[(column_list)]]…
ON[object_type] privilege_level
FROM USER [,USER]…
REVOKE ALL PRIVILEGES ,GRANT OPTION FROM aea;

删除一个或多个用户帐户

USE mysql;
SELECT USER HOST FROM mysql.user;

–删除用户,删除多个时用逗号(,)隔开;
DROP USER ‘aea@localhost’;

–例外:如果删除时该用户已经连接到数据库,那么删除之后该用户仍可使用到会话结束,可以采取在删除之前先关闭用户的会话
SHOW PROCESSLIST;
KILL ada;
DROP USER aea@localhost;

–mysqldump -u[username] -p[password] [database_name]>[dump_file.sql]
– username:有效的MySQL用户名 password:用户的有效密码。注意:-p和password之间没有空格
–database_name:要备份的数据库名称 dump_file:要生成的转储文件
mysqldump -u[root] -p[root] [rootS]>[dump_file.sql]

–mysql数据库备份指令格式
–mysqldump -h主机名 -p端口 -u用户名 -p密码 (-database) 数据库名 >文件名.sql
mysqldump -hlocalhost -p3306 -uroot -proot(-database) mysql>testA.sql

–1,备份mysql数据库的命令
mysqldump -hhostname -uusername -ppassword databasename > backful.sql

–2,备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
–mysqldump -add -drup -table -uusername -ppassword databasename > backupfile.sql
mysqldump -add -drup -table -uroot -proot databasename > d:\002.sql

–3,直接将MySQL数据库压缩备份
–mysqldump -hhosename -uusername -ppassword databasename | gzap > d:\002.sql.gz
mysqldump -hlocalhost -uroot -proot databasename | gzap > d:\002.sql.gz

–4、备份MySQL数据库某个(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > d:\111.sql

–5、同时备份多个MySQL数据库
mysqldump -hhostname -uusername -ppassword –-databases databasename1 databasename2 databasename3 > d:\111.sql

–6、仅备份数据库结构
mysqldump -uroot -proot –-no-data –-databases project3 project3 project4 > d:\111.sql

–7、备份服务器上所有数据库
mysqldump -uroot -proot –-all-databases > d:\111.sql

恢复数据库

数据库还原有三种方式:source命令、mysql、gunzip命令
source命令:
1:进入mysql数据库控制台,登录
2:mysql -u root -p
3:mysql>use 数据库
4:然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
5:mysql>source d:\test.sql

mysql:mysql -hhostname -uusername -ppassword test < d:\test.sql

gunzip命令:gunzip < d:\test.sql.gz | mysql -uusername -ppassword test

–列出所有的数据库
show databases;

–模糊查询数据库(pro%:以pro开头;%pro:以pro结尾;%pro%:含有pro)
show databases like ‘%pro%’;

–列出数据库下所有的表
show tables;

–列出数据库下所有的表和视图
show full tables;
create view selectAll as select * from employee;

–模糊查询表参考模糊查询数据库,二者一样

–查看表结构
describe employee;
desc employee;
show columns from employee;
show full columns from employee;

–模糊查询参看模糊查询数据库
show full columns from employee like ‘%pro%’

–列出所有用户
select user from mysql.user;

–显示当前登录用户
select user();

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值