MySQL数据库对象管理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Shreck66/article/details/51703173

本篇博文会简单的介绍MySQL数据库对象的管理,其中会着重介绍其权限管理与字符集

一.权限管理

1.添加或修改密码

对于MySQL我们可以通过mysqladmin来添加或修改密码
修改root用户密码为123456

mysqladmin -uroot -p password '123456'

2.创建一个新用户

我们平时都直接用root用户来登陆MySQL这是很不安全的,此时添加新用户就显的很重要了
添加新用户的命令

create user 'userName'@'userAddress' identified by 'userPassword'

3.权限管理

我们在2中新创建用户以后该用户是没有任何权限的除了登陆权,所以我们得用我们的root用户赋予其权限
使用grant语句为用户赋权

grant all privileges on *.* to 'userName'@'userAddress' with grant options;

当然可以给用户于权利,自然就可以收回
收回权限的命令

revoke all privileges on *.* from 'jesse'@'localhost';

4.权限操作的原理

在mysql数据库中设计权限管理的共有4张表,分别为,user,db,tables_priv,columns_priv,当用户执行操作如select时,数据库由大到小,从user表开始到colmns_priv表,逐个验证用户是否有权限

查看某一用户所拥有的权限

select * from mysql.user where user = 'userName'\G

二.字符与字符集

字符序是对字符集的排序,不同的字符集中可能有多种字符序,不同的字符序所能排序的字符不同,精度和性能也不同
查看MySQL中的字符序

show collation;

1.默认字符与字符集的设置级别:服务器 > 数据库 > 表 > 列

服务器级

character_set_server:默认内部操作字符集
character_set_system:系统元数据字符集

数据库级

character_set_database:当前选中数据库的默认字符集

database的字符集如果不设置,默认使用的是character_set_server的字符集

需要注意的是以上字符集的设置都要在创建时伴随这设置

例如我们创建数据库时,来设置数据库字符集

create database xxx character set xxx collate xxx;

第一个xxx为所建数据库名,后俩个则分别为字符集与字符序名

2.查看系统级别字符集

命令如下

show global variables like '%chara%';

输出如下
这里写图片描述

猜你喜欢

转载自blog.csdn.net/Shreck66/article/details/51703173
今日推荐