Mysql的账户授权和忘记root密码处理

本文详细介绍了如何在MySQL中为新用户创建账号并授权,包括不同版本的命令;更新数据库密码的方法,以及超级管理员忘记密码时的步骤,包括修改配置、进入控制台和重置root密码等。
摘要由CSDN通过智能技术生成

一、为mysql数据库开账号、并授权

语法:

grant [权限1,权限2...] on 某库.某表 to 新用户名@'主机名/IP地址' identified by '密码';  

例子:

grant select,insert on 数据库.数据表 to 数据库用户@'%'  identified by '密码';

创建新用户

为mysql服务器添加一个用户和设置密码,并允许远程访问拥有所有权限

  • 5.7版本
GRANT ALL PRIVILEGES ON doorctrl_bjhq.* TO 'hjc_042043' @"%" IDENTIFIED BY 'hjc1985';

FLUSH PRIVILEGES;
  • 8.0版本:
    创建用户和授权是分开的
# 授予远程连接权限
CREATE USER 'hjc_042043'@'%' IDENTIFIED BY '密码';

GRANT ALL ON *.* to `root`@`%` WITH GRANT OPTION;

FLUSH PRIVILEGES;

将库授权给用户

指定将一个库授权给用户

// 此用户已经在数据库中存在了的,所有后面就不用跟上'IDENTIFIED BY',数据库密码已经存在了。

GRANT ALL PRIVILEGES ON doorctrl_bjhq.* TO ‘hjc_042043’@“%”;
FLUSH PRIVILEGES;

3. 通过SQL语句来添加普通用户的和密码

mysql> insert into mysql.user(Host,User,authentication_string)
values("%","demodb",password("Q1@W2#E3$R4"));

FLUSH PRIVILEGES;

二、更新数据库密码

1.使用update更新

5.7之前的版本

UPDATE user SET password=PASSWORD('123456') WHERE user='root';
FLUSH PRIVILEGES;

5.7之后的版本

UPDATE user SET authentication_string=PASSWORD('123456') WHERE user='root';
FLUSH PRIVILEGES;

2.使用mysqladmin更新

语法:/usr/local/mysql/bin/mysqladmin -u用户名 -p旧密码 password 新密码

例子:/usr/localmysql/bin/mysqladmin -uroot -p123456 password admin*098

三、超级管理员忘记密码

1、修改配置

编辑mysql配置文件,找到[mysqld],在下面添加一行skip-grant-tables

vi /etc/my.cnf
[mysqld]
# 添加这一行先
skip-grant-tables
#重启MySQL服务
systemctl restart mysqld.service

2、进入MySQL控制台

#直接按回车,这时不需要输入root密码
mysql -uroot -p

3、修改root密码

update mysql.user set password=password('123456') where User="root" and Host="localhost";

grant all on *.* to 'root'@'localhost' identified by '123456' with grant option;

#刷新系统授权表
flush privileges;

4、取消/etc/my.cnf中的skip-grant-tables

编辑文件,找到[mysqld],删除skip-grant-tables这一行

vi /etc/my.cnf

[mysqld]
# 将这行注释
# skip-grant-tables

:wqa  #保存退出

5、重启mysql

重启mysql,这个时候mysql的root密码已经修改为123456

systemctl restart mysqld.service

6、进入mysql控制台

输入密码验证

mysql -uroot -p 123456
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值