mysql修改root密码

这篇博客介绍了如何在MySQL中修改默认密码、更新用户权限以及管理用户。内容包括使用`set password`命令更改root用户的密码,通过SQL更新语句改变用户密码,添加新用户,查看和调整用户权限。同时,强调了User@%和User@localhost的区别,并提供了添加数据到用户表的示例。

修改密码

首先登录MySQL,安装之后没有改过密码的情况下
sudo mysql -uroot -p 直接回车可以无密码登陆。

格式:mysql> set password for 用户名@localhost = password(‘新密码’);
例子mysql> set password for root@localhost = password('123');

2021-05-28 mysql 数据库密码lionel
2021-05-29 mysql lionel 数据库密码,更改成lionel 用户lionel 没有权限

// 查看用户表结构
desc <table_name>
// 更改用户密码
UPDATE <表名> SET 字段 1=值 1 [,字段 2=值 2… ] [WHERE 子句 ][ORDER BY 子句] [LIMIT 子句]
例子:
UPDATE cs_user SET gender = '男' WHERE id = 4

 UPDATE user SET authentication_string = 'lionel' WHERE user = 'lionel';

User@% 和 User@localhost 是两个不同的用户,他们可以有相同的密码,一个用户的密码修改并不会影响另一个用户的密码。
User@% 允许从所有的ip访问. User@localhost 只允许从localhost访问。


 // 添加用户
 CREATE USER 'username'@'host' IDENTIFIED BY 'password';
// 查看用户权限
show grants for root@localhos;
 // 修改用户权限
  grant all on lioneldb.* to 'lionel'@'localhost' with grant option;
  
  flush privileges;

参考 mysql回收用户权限
查看用户权限

// 建立yourdb库
create database yourdb;

// 创建user表
USE yourdb;
CREATE TABLE user(
    username char(50) NULL,
    passwd char(50) NULL
)ENGINE=InnoDB;

// 添加数据
INSERT INTO user(username, passwd) VALUES('name', 'passwd');

// 所有用户
SELECT User, Host FROM mysql.user;
修改 MySQL 数据库中 `root` 用户密码有多种方法,具体取决于当前的使用环境和权限情况。以下是几种常见且有效的修改方式: 如果当前已知 `root` 用户的旧密码,并且可以通过命令行访问 MySQL,可以使用 `mysqladmin` 命令进行修改。例如,如果旧密码是 `abc`,希望将新密码设置为 `123456`,则可以执行以下命令: ```bash $ mysqladmin -u root -p'abc' password '123456' ``` 此外,也可以通过 MySQL 内部的 SQL 命令来修改密码。登录到 MySQL 后,可以使用 `SET PASSWORD` 命令,格式如下: ```sql mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码'); ``` 具体示例为: ```sql mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123'); ``` 还有一种方法是直接操作 MySQL 系统数据库 `mysql` 中的 `user` 表来修改密码。在登录 MySQL 后,执行以下 SQL 语句: ```sql mysql> USE mysql; mysql> UPDATE user SET password=PASSWORD('新密码') WHERE user='root' AND host='localhost'; mysql> FLUSH PRIVILEGES; ``` 具体示例为: ```sql mysql> USE mysql; mysql> UPDATE user SET password=PASSWORD('123') WHERE user='root' AND host='localhost'; mysql> FLUSH PRIVILEGES; ``` 在某些情况下,如果忘记了 `root` 用户的密码,则需要通过跳过权限检查的方式重置密码。以 Windows 系统为例,可以通过以下步骤完成密码重置: 1. 关闭正在运行的 MySQL 服务。 2. 打开命令行窗口,切换到 MySQL 的 `bin` 目录。 3. 输入以下命令启动 MySQL 服务并跳过权限检查: ```bash mysqld --skip-grant-tables ``` 4. 再次打开一个新的命令行窗口,切换到 MySQL 的 `bin` 目录。 5. 输入 `mysql` 命令进入 MySQL 控制台。 6. 使用以下命令连接权限数据库: ```sql USE mysql; ``` 7. 更新 `user` 表中的密码字段: ```sql UPDATE user SET password=PASSWORD("123") WHERE user="root"; ``` 8. 刷新权限以使更改生效: ```sql FLUSH PRIVILEGES; ``` 9. 退出 MySQL 并重新启动 MySQL 服务,使用新的密码登录。 以上方法覆盖了常规和特殊情况下修改 MySQL `root` 用户密码的操作[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值