修改当前登录用户
set PASSWORD = PASSWORD('12345678');
quit
mysql -u root -p
修改其他用户密码
SET PASSWORD FOR'zhangsan'@'localhost'= PASSWORD('123123');
use mysql;
SELECTUser,authentication_string,Host fromuser;
忘记 root 密码的解决办法
vim /etc/my.cnf
[mysqld]
skip-grant-tables #添加,使登录mysql不使用授权表
systemctl restart mysqld
mysql #直接登录
使用 update 修改 root 密码,刷新数据库
UPDATE mysql.user SET AUTHENTICATION_STRING = PASSWORD('123123') whereuser='root';
FLUSH PRIVILEGES;
quit
再把 /etc/my.cnf 配置文件里的 skip-grant-tables 删除,并重启 mysql 服务。
mysql -u root -p123123
五,数据库用户授权
GRANT 权限列表 ON 数据库名.表名 TO'用户名'@'来源地址' [IDENTIFIED BY'密码'];
权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如“select,insert,update”。使用“all”表示所有权限,可授权执行任何操作;
数据库名.表名:用于指定授权操作的数据库和表的名称,其中可以使用通配符“*”。*例如,使用“kgc.*”表示授权操作的对象为 kgc数据库中的所有表;
'用户名@来源地址':用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP 地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.myh.com”、“192.168.10.%”等;
IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY”部分, 则用户的密码将为空。
设置用户权限(用户不存在时,则新建用户)
grant 权限列表 on 数据库名.表名 to 用户名@来源地址 [identified by ‘密码’]
查看用户的权限
show grants for 用户名@来源地址
撤销用户的权限
remove 权限列表 on 数据库名.表名 from 用户名@来源地址
flush privileges;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!