1.mysql创建用户和授权
1.1权限管理
权限最高的是root用户,能够进行包括select、update、delete、update、grant等操作。一般只用专门的DBA工程师才有此权限,对于一般用户,工程师会给创建一个账号,设定某些权限进行数据库的相关操作
2.流程
root用户下创建账号,对用户账号增删改
# 进入mysql数据库 use mysql # 进入后一定要进行刷新 flush privileges # 创建用户 指定ip:192.118.1.1的mjj用户登录 create user 'mjj'@'192.118.1.1' identified by '123'; 指定ip:192.118.1.开头的mjj用户登录 create user 'mjj'@'192.118.1.%' identified by '123'; 指定任何ip的mjj用户登录 create user 'mjj'@'%' identified by '123'; # 删除用户(记得是在root用户下) drop user '用户名'@'IP地址'; # 修改用户 rename user '用户名'@'IP地址' to '新用户名'@'IP地址'; # 修改密码 set password for '用户名'@'IP地址'=Password('新密码');
对当前用户授权处理
# 查看权限 show grants for '用户'@'IP地址' # 授权mjj用户井队db1.t1文件有查询,插入和更新的操作 grant select,insert,update on db1.t1 to "mjj"@'%'; # mjj用户对db1下的t1文件有任意操作 grant all privileges on db1.t1 to "mjj"@'%'; # mjj用户对所有数据库中文件有任何操作 grant all privileges on *.* to "mjj"@'%'; # 取消mjj用户对db1的t1文件的任意操作 revoke all on db1.t1 from 'mjj'@"%"; # 取消来自远程服务器的mjj用户所有数据库的所有的表的权限 revoke all privileges on *.* from 'mjj'@'%';
3.mysql备份命令行操作
# 备份:数据表结构+数据 mysqdump -uroot db1 > db1.sql -p # 备份:数据表结构 mysqdump -uroot -d db1 > db1.sql -p #导入现有的数据到某个数据库 #1.先创建一个新的数据库 create database db10; # 2.将已有的数据库文件导入到db10数据库中 mysqdump -uroot -d db10 < db1.sql -p
2.mysql索引原理
2.1介绍
一般应用系统读写比例在10:1左右,因此查询语句的优化相当重要,对于加速查询,这里就需要用到索引
在mysql中索引也被称为‘键’,利用索引能够提高查询速度(数据量越大越明显)
2.2原理
索引本质:
通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是说,有了这种索引机制,我们可以总是用同一种查找方式来锁定数据。
但是数据库的索引比它要复杂的多,这里不做介绍,详细解释猛戳这里