Mysql数据库表管理和用户管理与授权 |
您所在的位置:网站首页 › mysql查看当前登陆用户 › Mysql数据库表管理和用户管理与授权 |
一、表结构管理
1. 修改表名
ALTER TABLE 旧表名 RENAME 新表名
![]() 创建方式与创建表完全一致,最大的区别是,临时表只在当前的数据库连接生效,当数据库连接断开或重新连接终端时,该临时表均失效,无法查看。 7.清除表的两种方式比较 方式一:delete清空 delete from 表名; 方式二:truncate清空 truncate table 表名;两者区别:(1)delete清空属于按照行清空,一行一行进行,效率低,速度慢(对于表数据较多的情况) truncate相当于删除表数据,保留表结构,重新创建一个与原表结构相同的表 (2)当数据表中有自增型约束字段时,delete清除表数据后,在插入数据时,自增字段的数值会接着被删除表数据的最后一个自增数,计数。(eg:被删除表数据最后一行id(自增),为10,再创建时,该id从11开始)。truncate清空后,自增型字段会从1开始计数 二、登录用户管理 1.查看用户密码信息用户信息存放在 mysql 数据库下的 user 表(MySQL 服务下存在一个系统自带的 mysql 数据库)。 use mysql ; show tables;![]() 经常使用的查看密码信息的命令: 能看到密码信息:是经过加密后的密码信息 select user,host,authentication_string from user;明文密码创建用户格式: create user '用户名'@'主机' identified by '密码'加密密码创建用户 : SELECT PASSWORD('密码'); #先获取加密的密码 CREATE USER 'lisi'@'localhost' IDENTIFIED BY PASSWORD '加密的密码';![]() 普通用户只有修改自身密码的权限 明文密码修改: set password = password ('新密码');root用户是超级管理员,它不仅可以修改自身密码,还能修改其他用户的密码。 set password for '用户'@'登录地址' =password ('密码');该操作必须是在数据库本机且为root用户,才可进行 1)第一步:添加跳过的初始配置 vim /etc/my.cnf skip-grant-tables![]() ![]() 权限列表: 用于列出授权使用的各种数据库操作,以逗号进行分隔如"select, insert,update"。 使用"all"表示所有权限(实际上部分权限仍无法使用,只包括大部分权限),可授权执行任何操作。 数据库名.表名: 用于指定授权操作的数据库和表的名称,其中可以使用通配符*。 例如,使用"mysql.*" 表示授权操作的对象为mysql数据库中的所有表。 '用户名'@'来源地址': 用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。 来源地址可以是域名、IP地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址。 IDENTIFIED BY: 用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略"IDENTIFIED BY"部分,则用户的密码将为空。 create user 'username'@'address' identified by 'password'; #创建用户 select user,host,authentication_string from mysql.user; #查看用户信息 rename user old_user to new_user; #修改用户名 drop user '用户名'@'来源地址'; #删除用户 set password = password('XXXX'); #修改当前登录用户的密码 set password for '用户名'@'来源地址' = password('XXXX'); #修改其他用户的密码 select user (); #查看当前登录用户和来源地址 ###忘记root用户密码的解决方法: 修改mysql配置文件/etc/my.cnf,在 [mysqld] 配置项下加入 skip-grant-tables service mysqld restart #重启服务 mysql #免密登陆 update mysql.user set authentication_string=password('新密码') where user='root'; #修改密码 flush privileges; #刷新数据库 2.用户授权操作grant 权限列表/ALL ON 库名.表名 to 'username'@'address' identified by '密码'; #授予用户权限 show grants; #查看当前用户(自己)的权限 show grants for 'username'@'address'; #查看其他用户的权限 revoke 权限列表/ALL on 库名.表名 from 'username'@'address'; #撤销用户的权限 mysql -u 用户名 -p[密码] -h 目标IP/主机名 -P 端口号 #远程连接mysql |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |