关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » MySQL »MySQL的密码设置

    MySQL的密码设置

    2015-08-01 00:00:00 出处:ITJS
    分享

    由MySQL使用用户名和口令的方法与Unix或Windows使用的方式有很多不同之处:

    ·MySQL使用于认证目的的用户名,与Unix用户名(登录名字)或Windows用户名无关。缺省地,大多数MySQL客户尝试使用当前Unix用户名作为MySQL用户名登录,但是这仅仅为了方便。客户程序允许用-u或--user选项指定一个不同的名字,这意味着无论如何你不能使得一个数据库更安全,除非所有的MySQL用户名都有口令。任何人可以试图用任何名字连接服务器,而且如果他们指定了没有口令的任何名字,他们将成功。

    ·MySQL用户名最长可以是16各字符;典型地,Unix用户名限制为8个字符。

    ·MySQL口令与Unix口令没关系。在你使用登录到一台Unix机器口令和你使用在那台机器上存取一个数据库的口令之间没有必要有关联。

    ·MySQL加密口令使用了一个Unix登录期间所用的不同算法。

    本节将介绍如何为MySQL数据库系统的用户修改密码。

    使用myadmin实用程序

    使用mysqladmin实用程序修改密码的命令行是:

    shell>mysqladmin -u user -p password "newpassword"

    运行这个命令,在提示输入密码时,数据就密码,则用户user的密码就被改为newpassword

    。如果,原来的用户没有密码,则不比指定-p选项。例如,初始化授权表之后,root用户的密码就是空的,你可以这样为root用户设立密码:

    shell>mysqladmin -u root password "newpassword"

    使用语句SET  PASSWORD

    使用mysqladmin为用户修改密码有一个明显的缺点,就是必须知道用户原来的密码,如果是为了给遗忘了密码的用户重设密码就无能为力了。一个专门用于修改密码的SQL语句为SET  PASSWORD:

    ·SET  PASSWORD = PASSWORD('some password')

    设置当前用户的口令。任何非匿名的用户能改变他自己的口令!

    连接到服务器后,你可以这样改变自己的密码:

    mysql> SET  PASSWORD = PASSWORD('another pass');

    ·SET  PASSWORD FOR user = PASSWORD('some password')

    设置当前服务器主机上的一个特定用户的口令。只有具备存取mysql数据库的用户可以这样做。用户应该以user@hostname格式给出,这里user和hostname完全与他们列在mysql.user表条目的User和Host列一样。例如,如果你有一个条目其User和Host字段是'bob'和'%.loc.gov',你将写成:

    mysql> SET PASSWORD FOR bob@"%.loc.gov" = PASSWORD("newpass");

    直接修改授权表

    另一种修改,密码的方法是直接修改授权表user。只有具备存取mysql数据库的用户可以这样做。

    例如,如果你有一个条目其User和Host字段是'bob'和'%.loc.gov',你将写成:

    mysql> UPDATE mysql.user SET password=PASSWORD("newpass") where user="bob' AND host="%.loc.gov";
    mysql>FLUSH PRIVILEGES;
    

    重新设置一个遗忘的root口令

    如果你遗忘了root用户的口令,那么将会是一件非常麻烦的事。除非你有其它有特权的用户,否则很多操作都无法完成,例如,关闭数据库等等。

    你应当选用--without-grant-tables选项启动mysqld服务,你可以在这时更改授权表的相关内容,也可以用mysqlaccess检查你的授权是否到位。

    例如,如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。

    1、关闭MySQL服务器

    向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。

    kill `cat /mysql-data-directory/hostname.pid`

    你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。

    如果在windows平台上,也可以停止进程。如果是NT还可以用net stop mysql命令关闭数据库。

    2、使用'--skip-grant-tables' 参数来启动 mysqld。

    Unix平台:

     $su mysql

     $safe_mysqld --skip-grant-tables &

    Windows平台:

     C:mysqlbin>mysqld --skip-grant-tables

    以上语句,假定都位于正确的目录。

    3、连接到服务器,修改口令

    使用'mysql -h hostname mysql'命令登录到mysqld server ,用grant命令改变口令:

    mysql>GRANT ALL ON *.* TO chinastor.com-root@localhost INDENTIFIED BY 'new password'
    -> WITH GRANT OPTION;
    mysql>GRANT ALL ON *.* TO chinastor.com-root@% INDENTIFIED BY 'new password'
    -> WITH GRANT OPTION;
    

    (如果存在一个能从任意地址登录的root用户,初始化授权表后,生成该用户,为了安全,你可能已经删除该用户)。

    其实也可以直接修改授权表:

    mysql> use mysql;
    mysql> update user set password =password('yourpass') where user='root';
    

    你可能使用工具mysqladmin修改密码:

    shell> mysqladmin -h hostname -u root password 'new password

    但是它修改的密码语服务器匹配的用户有关。如果,你从服务器主机连接,那么服务器匹配的是chinastor.com-root@localhost,修改该用户密码,否则一般修改chinastor.com-root@%密码,除非你有其它root用户存在。

    4. 载入权限表:

    shell> mysqladmin -h hostname flush-privileges

    或者使用 SQL 命令`FLUSH PRIVILEGES'。

    当然,在这里,你也可以重启mysqld。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    windows 7应用程序无法启动出现窗口提示找不到应用程序

    SQL中数据类型转换函数的使用

    MySQL使用变量的注意事项

    SQL Server 锁自定义的示例演示

    如何在Linux命令行中创建以及展示演示稿

    windows 7任务栏显示标题的方法(windows 7任务栏缩略图不显示出

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。