DAY10-MYSQL库操作
一 系统数据库
information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等
performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象
mysql: 授权库,主要存储系统用户的权限信息
test: MySQL数据库系统自动创建的测试数据库
二 创建数据库
1 语法(help create database)
CREATE DATABASE 数据库名 charset utf8;
2 数据库命名规则:
可以由字母、数字、下划线、@、#、$ 区分大小写 唯一性 不能使用关键字如 create select 不能单独使用数字 最长128位
三 数据库相关操作
1 查看数据库 show databases; show create database db1; select database(); 2 选择数据库 USE 数据库名 3 删除数据库 DROP DATABASE 数据库名; 4 修改数据库 alter database db1 charset utf8;
四 权限管理
1 对新用户增删改
1.创建用户: # 指定ip:192.118.1.1的mjj用户登录 create user 'alex'@'192.118.1.1' identified by '123'; # 指定ip:192.118.1.开头的mjj用户登录 create user 'alex'@'192.118.1.%' identified by '123'; # 指定任何ip的mjj用户登录 create user 'alex'@'%' identified by '123'; 2.删除用户 drop user '用户名'@'IP地址'; 3.修改用户 rename user '用户名'@'IP地址' to '新用户名'@'IP地址'; 4.修改密码 set password for '用户名'@'IP地址'=Password('新密码');
2 对当前的用户授权管理
#查看权限 show grants for '用户'@'IP地址' #授权 mjj用户仅对db1.t1文件有查询、插入和更新的操作 grant select ,insert,update on db1.t1 to "alex"@'%'; # 表示有所有的权限,除了grant这个命令,这个命令是root才有的。mjj用户对db1下的t1文件有任意操作 grant all privileges on db1.t1 to "alex"@'%'; #mjj用户对db1数据库中的文件执行任何操作 grant all privileges on db1.* to "alex"@'%'; #mjj用户对所有数据库中文件有任何操作 grant all privileges on *.* to "alex"@'%'; #取消权限 # 取消mjj用户对db1的t1文件的任意操作 revoke all on db1.t1 from 'alex'@"%"; # 取消来自远程服务器的mjj用户对数据库db1的所有表的所有权限 revoke all on db1.* from 'alex'@"%"; 取消来自远程服务器的mjj用户所有数据库的所有的表的权限 revoke all privileges on *.* from 'alex'@'%';