mysql创建制度账户_Mysql数据库用户管理
数据库是信息系统中非常重要的一个环节,合理高效的对它进行管理是很重要的工作。通常是由总管理员创建不同的管理账户,然后分配不同的操作权限,把这些账户给相应的管理人员使用。
1.新建用户,有两种命令格式。
a. 新建用户的命令格式如下create user ‘username’@’host’ [identified by [password] ‘password’;
其中:
username : 将创建的用户名。
host: 指定用户在哪些主机上可以登录,可以使用IP 地址、网段、主机名的形式,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登录,可以使用通配符% 。
password:因为MYSQL5.7版本启用了密码增强插件,新密码必须符合密码复杂性要求。mysql> create user 'test01'@'localhost' identified by '123abc'; //创建用户名为 test01 ,密码为 :123abc
Query OK, 0 rows affected (0.00 sec)
mysql> use mysql; //先进入名为mysql 的库中
mysql> select User,authentication_string,Host from user; //查看系统用户
+-----------+-------------------------------------------+-----------+
| User | authentication_string | Host |
+-----------+-------------------------------------------+-----------+
| root | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | localhost |
| mysql.sys | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | localhost |
| root | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | % |
| test01 | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | localhost | //新建的用户 test01
+-----------+-------------------------------------------+-----------+
4 rows in set (0.00 sec)
b.新建用户还可以使用
grant all on *.* to 用户@主机 identified by 密码;
其中*.* 表示:所有数据库和所有表mysql> grant all on *.* to 'test02'@'localhost' identified by '123abc'; //新建用户名为test02,密码为:123abc
Query OK, 0 rows affected, 1 warning (0.32 sec)
mysql> select User,authentication_string,Host from user; //查看系统用户
+-----------+-------------------------------------------+-----------+
| User | authentication_string | Host |
+-----------+-------------------------------------------+-----------+
| root | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | localhost |
| mysql.sys | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | localhost |
| root | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | % |
| test01 | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | localhost |
| test02 | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | localhost | //新建用户test02
+-----------+-------------------------------------------+-----------+
5 rows in set (0.00 sec)
2.删除用户。
删除用户命令格式如下: drop user ‘username’@’host’ ; 删除新创建用户 test02mysql> drop user 'test02'@'localhost'; //删除用户test02
Query OK, 0 rows affected (0.00 sec)
mysql> select User,authentication_string,Host from user;
+-----------+-------------------------------------------+-----------+
| User | authentication_string | Host |
+-----------+-------------------------------------------+-----------+
| root | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | localhost |
| mysql.sys | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | localhost |
| root | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | % |
| test01 | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | localhost |
+-----------+-------------------------------------------+-----------+
4 rows in set (0.00 sec)
删除 ‘test02’@’localhost’ 这个用户后,数据库中已经没有该用户了。既然用户是存储在user 表中,直接使用delect 语句也可以对它执行删除,但和drop 是有区别的。drop不止删除用户表,还会把相关的权限删除,而delect 只是删除用户,权限在数据库中依然存在。
3.重命名用户
重命名用户的命令格式如下:rename user ‘old_user’@’host’ to ‘new_user’@’host’;
old_user 是旧的用户名,new_user 是新的用户名。mysql> rename user 'test01'@'localhost' to 'user01'@'localhost'; //将test01 重命名为 user01
Query OK, 0 rows affected (0.00 sec)mysql> select User,authentication_string,Host from user;
+-----------+-------------------------------------------+-----------+
| User | authentication_string | Host |
+-----------+-------------------------------------------+-----------+
| root | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | localhost |
| mysql.sys | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | localhost |
| root | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | % |
| user01 | *3620754A963ECB3D7296097F9DA00C1FA5476B03 | localhost | //用户test01 已经改为 user01
+-----------+-------------------------------------------+-----------+
4 rows in set (0.00 sec)
4.给用户设置密码
修改用户密码的方式有两种,可以修改当前登录用户的密码或者修改其他用户密码。
(1) 修改当前登录用户密码的命令格式如下:set password = password(‘password’);
使用函数password() 对密码加密,退出后重新登录,需要使用新密码。mysql> set password =password('abc123'); // 设置当前登录用户的新密码
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> quit //退出重新登录
Bye
[root@bogon ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.17-log Source distribution
(2)修改其他用户密码的命令格式如下:set password for ‘username’@’host’ = password(‘password’);
mysql> set password for 'user01'@'localhost' = password('abc123'); //修改user01用户密码 为 abc123
Query OK, 0 rows affected, 1 warning (0.34 sec)
mysql> quit
Bye
[root@bogon ~]# mysql -u user01 –p //使用 user01 用户重新登录
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.17-log Source distribution
5.忘记root密码的解决办法
使用MySQL 时,如果忘记忘记了其他用户密码。可以使用root 用户重新设置,但是如果忘记root密码,就需要采取特殊的方法进行操作。直接修改授权表可以修改root 密码,下面介绍它的使用步骤。
(1)先退出mysql ,关闭mysql 服务,在其主配置文件中添加启动数据库语句mysql> quit //先突出数据库
Bye[root@bogon ~]# systemctl stop mysqld.service //停止mysql 服务
[root@bogon ~]# systemctl status mysqld.service //查看其状态
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: inactive (dead) since 二 2018-08-28 15:19:52 CST; 9s ago
Docs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 8740 ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 8723 ExecStartPre=/usr/local/mysql/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 8744 (code=exited, status=0/SUCCESS)[root@bogon ~]# vim /etc/my.cnf // 修改mysql 的主配置文件
[mysqld] //在mysqld 下面插入下面 skip-grant-tables
skip-grant-tables //启用数据库,其作用是用户登录时不使用授权表,可以不使用密码直接登录
[root@bogon ~]# systemctl start mysqld.service //启动mysql 服务
(2)不使用密码直接登录到mysql,使用 update 修改root密码[root@bogon ~]# mysql //直接mysql 进入,不需要密码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.17 Source distribution
mysql> update mysql.user set authentication_string=password('123abc'); //使用update 修改密码
Query OK, 2 rows affected, 1 warning (0.00 sec)
Rows matched: 4 Changed: 2 Warnings: 1
mysql> quit
Bye
(3)。root 密码修改好后,再将主配置文件的 skip-grant-tables 删除,使用root 用户登录。[root@bogon ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.17 Source distribution
mysql创建制度账户_Mysql数据库用户管理相关推荐
- mysql 创建查询 删除_MYSQL数据库查询删除创建企业基本知识
数据查询语言(DQL)从表中获取数据 select + where (位置) order by(排序) group by haveby 查询用户:select user,host,passwo ...
- mysql建库权限_mysql数据库用户权限及建库脚本
/* 创建系统数据库mydatabasename */ drop database if exists mydatabasename; create database mydatabasename; ...
- mysql 创建函数 权限_MySQL赋予用户执行自定义Function的权限
将远程数据库导入到本地之后,一启动项目就报错"execute command denied to user",提示用户没权限执行自定义FunctionCaused by: java ...
- MySQL数据库用户管理以及数据库用户授权
目录 一.数据库用户管理 1.新建用户 2.查看用户信息 3.重命名用户 4.删除用户 5.修改当前登录用户密码 6.修改其他用户密码 7.忘记 root 密码的解决办法 7.1 修改 /etc/my ...
- mysql创建gbk库_MYSQL创建utf-8和GBK格式数据库
MYSQL创建utf-8格式的数据库 先mysql进入: 代码 GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chi ...
- mysql特殊字段名称_Mysql必读MySQL创建带特殊字符的数据库名称方法示例
<MysqL必读MysqL创建带特殊字符的数据库名称方法示例>要点: 本文介绍了MysqL必读MysqL创建带特殊字符的数据库名称方法示例,希望对您有用.如果有疑问,可以联系我们. 文章抓 ...
- mysql 数据库名称 特殊字符_Mysql必读MySQL创建带特殊字符的数据库名称方法示例...
<Mysql必读MySQL创建带特殊字符的数据库名称方法示例>要点: 本文介绍了Mysql必读MySQL创建带特殊字符的数据库名称方法示例,希望对您有用.如果有疑问,可以联系我们. MYS ...
- 数据库基本操作-----数据库用户管理和授权
目 录 一.数据库用户管理 1.新建用户 2.查看用户信息 3.重命名用户 4.删除用户 5.修改当前登录用户密码 6.修改其他用户密码 7.忘记 root 密码的解决办法 (1)修改 /etc/my ...
- 【数据库二】数据库用户管理与授权
数据库用户管理与授权 1.MySQL数据库管理 1.1 常用的数据类型 1.2 char和varchar区别 1.3 SQL语句分类 2.数据表高级操作 2.1 克隆表 2.2 清空表 2.3 创建临 ...
- 数据库用户管理(增删改查,即CRUD)
数据库用户管理 -- 创建用户CREATE USER用户名IDENTIFIED BY '密码' CREATE USER xiaochen IDENTIFIED BY '123456' -- 修改密码( ...
最新文章
- spring-cloud:熔断监控Hystrix Dashboard和Turbine的示例
- TensorFlow 安装protoc
- 为什么需要使用到多线程
- bzoj2538: [Ctsc2000]公路巡逻
- mac11.5.2版本虚拟机SeaBIOS不引导,kvm虚拟机状态为pause
- Dijkstra算法介绍+正确性证明+性能分析
- jquery $.ajax post php获取不到_经典的jQuery实现页面公共部分方法,附代码
- C语言中如何衡量算法的正确性,从C语言的角度重构数据结构系列(二)-如何衡量一个算法的优劣?...
- 使用GeoTools创建一个具有纬度,经度和半径的圆
- 20210916:Verilog的整数类型易错点
- python开发mbus程序_一种PMBus总线电源模块的控制与实现
- React移动web极致优化
- 手机端APP接口拦截(抓包)-Charles
- 【CFD之道】2018年原创文章汇总
- 蓝牙inquiry流程之HCI_Inquiry_Result_With_RSSI和HCI Extended Inquiry Result处理
- 卸载linux grub rescue,卸载linux后出现“grub rescue”,怎么处理?
- Matlab读取Excel各个子表的数据进行拟合
- dhcp服务器不显示mac地址,利用MAC地址解决无法获得DHCP动态地址分配问题
- win10快速打开网络适配器选项
- CSS实验案例02简单专业介绍网页
热门文章
- 前端大牛工程师Nicholas C. Zakas:我得到的最佳职业生涯建议
- linux文件夹可视化工具,4款简单实用的的服务器文件管理工具推荐
- winXP和win2003双系统下启动NTDETECT错误解决方法
- A JNI error has occurred, please check your installation and try again
- 安卓txt极简记事本文件保存内部存储无广告
- 单片机c51语言中 两个位变量类型是什么,51单片机中的数据类型解析
- BigDecimal,BigInteger 学习以及简单示例
- 供应链金融三种模式介绍及对比
- GHO文件内IE主页的修改方法
- linux命令— head