前言:
✌ 作者简介:渴望力量的哈士奇 ✌,大家可以叫我 🐶哈士奇🐶 ,一位致力于 TFS - 全栈 赋能的博主 ✌
🏆 CSDN博客专家认证、新星计划第三季全栈赛道 top_1 、华为云享专家、阿里云专家博主 🏆
📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬
🔥 如果感觉博主的文章还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主哦
文章目录
🐳 MySQL 的用户管理 - 新增用户并赋予权限🐳 验证新增用户的权限🐳 重设密码 - 普通用户🐳 重设密码 - root 用户这一章节我们将来学习一下 MySQL 的用户管理,之前我们安装 MySQL 的章节 默认的 root 账户(即管理员账户)。这个账户是权限最高的账户,一般情况下只有数据库管理员 - DBA 才会使用该账户登录 MySQL 。像是开发人员,一般情况下会创建一个权限较低的账户交付开发、测试人员使用,比如说增删改查等一系列操作,销毁数据库、数据表这种操作一般是不会赋予的。(该情况一般仅限于测试环境,生产环境的数据库、服务器权限都会限制技术人员的权限。)接下来就看一看如何创建用户并为用户分配权限。
🐳 MySQL 的用户管理 - 新增用户并赋予权限
登录 MySQL 的图形化终端工具,这里以 “Navicat Premium” 为例,链接数据库成功之后,找到 “用户” 菜单,点击 “新增用户” 按钮,
根据弹出的提示,填写创建账户的信息,然后点击 “保存” 的图标,账户即创建成功;
此时账户依然是不可用的状态,需要针对新建的用户赋予服务器权限才可以。(需要注意的是,这里赋予的服务器权限为全局权限。)正常情况下,MySQL 默认的四个数据库(也叫数据逻辑空间)是只能由 root 用户才有权限操作的,所以这里为了演示分配 用户的可操作数据库,会先建一个test
数据库,然后针对 新增的用户,使用 “对象权限” ,将 新建的test
数据库分配给该新增的用户。
执行如下的 SQL 语句,创建一个 “test” 数据库
CREATE DATABASE test ;
接下来给 新建的dev
用户,分配test
数据库的 增、删、改、查 的权限, drop 权限一般不给。
🐳 验证新增用户的权限
利用新增的用户的身份权限,去链接 MySQL 数据库。
连接成功,因为test
数据库还没有任何的数据表,所以还是一个空的状态。同时还会看到information_schema
的存在,这是因为这个数据库保存了 MySQL 的信息,任何用户都有权限查看,所以这里的 dev 用户也可以查看到。
🐳 重设密码 - 普通用户
可能会出现,有的用户忘记密码的情况,如果是普通用户忘记密码,使用 root 用户登录 执行以下 SQL 语句即可重置用户的密码。
ALTER USER 'dev@localhost' IDENTIFIED BY '123456';
UPDATE mysql.USER SET authentication_string = PASSWORD("dev123") WHERE User="dev";
🐳 重设密码 - root 用户
首先,这个时候需要先关闭 MySQL ;
执行命令
mysqld stop
关闭 MySQL 服务
然后通过不加载密码授权的方式启动mysql
执行命令
mysqld_safe --defaults-file=/etc/f --skip-grant-tables
,执行命令后进入mysql不需要密码
然后登录 MySQL,修改 root 用户的密码
mysql -uroot
mysql>use mysql;mysql>update user set Password=password('!@#,abc354') where User='root';
重启 MySQL,使用新的密码登录即可
mysqld restart
mysql -uroot -p
然后输入新的密码即可