一、用户权限设置
1、Mysql中用户是如何定义的
用户名@主机域
- 10.0.0.51
- 10.0.0.%
- %
- 10.0.0.0/255.255.255.0
- Db01
- Localhost
- 127.0.0.1
2、用户创建
- create user xinjing@'%' identified by '123'
3、用户删除
- drop user username;
- username 是要删除的用户名:
- 如 drop user root@'%’
- drop use''@'127.0.0.1’用户名为空的删除
4、用户查询
use mysal
select user,host from user;
5、权限级别介绍
- 全局--可以管理整个MySOL
- 库--可以管理指定的数据库
- 表--可以营理指定数据库的指定表
- 字段--可以管理指定数据库的指定表的指定字段
- 权限存储在mysql库的user, db,tables priv,columns_priv,procs_priv
- 这几个系统表中,待MySOL实例启动后就加载到内存中
6、查看用户权限赋予情况
- show grants for xinjing@'%'
7、用户授权
- grant all privileges on stu.* to 'xinjing'@'%' identified by'123' withoption;
- revoke all privileges on stu.* from 'xinjing'@'%'
二、元数据查询
- Select version();服务器版本信息
- Select database();当前数据库名
- Select user();当前用户名
- Show status;服务器状态
- Show variables;服务器配置变量
- Show global variables like'%datadir%:看数据文件存放位置
- show global variables like '%datadir%':
- select @@datadir;查询数据库的路径
- select @@basedir 查询mysql的安装路径
三、union查询详解
- union查询就是把2条或者多条sql语句的查询结果,合并成一个结果集。
- sql1:N行,sql2:M行,sqll union sql2 --->N+M行
- 要求结果集中的列数一致就可以.(如都是2列或者N列)
- union取出的最终列名,以第1条sql为准
- union查询默认会去重,如果不想去重就用union all
四、分组查询展示
GROUP_CONCAT()
- select sid,group_concat(cid),group_concat(cj order by cj desc SEPARATOR ' ') from score
group by sid
五、字符串函数
六、mysql数据库导入导出(在mysql外部)
- mysqldump导出
--dump出表utemp1
mysqldump -uroot -p student utemp1>utemp1.sql
--dump出库student
mysqldump -uroot -p student>student.sql
--dump所有的数据库及数据库表
mysqldump -uroot -p --all -databases>mysqldatabases.sql;
- mysql的数据库导入"<"
--新建一个数据库
create database dumpdemo1
--回到mysql接口
mysql -u root -p654321 dumpdemo1<student.sql
--进入mysql验证
use dumpdemo1
show tables;
七、mysql数据库导入导出(在mysql内部)
- mysql的数据库导入"source"
mysal -u root -pcreate database source dumpdemo;
source /var/lib/mysal-files/student.sql