Linux下修改Mysql密码的三种方式 |
您所在的位置:网站首页 › linux如何更改root密码 › Linux下修改Mysql密码的三种方式 |
前言
有时我们会忘记 Mysql 的密码,或者想改一个密码,以下将对这两种情况修改密码的四种解决方法做个总结 本文都以用户为 root 为例 一、拥有原来的mysql的root的密码 方法一: 在mysql系统外,使用mysqladmin 1 mysqladmin -u root -p password "test123" 2 Enter password: 【输入原来的密码】
方法二: 通过登录mysql系统 1 mysql -uroot -p 2 Enter password: 【输入原来的密码】 3 mysql>use mysql; 4 mysql> update user set password=passworD("test") where user='root'; 5 mysql> exit;
注意:如果Mysql的版本是5.7及以上的话update语句更换如下: 1 mysql> update user set authentication_string=passworD("test") where user='root';二、忘记原来的myql的root的密码 方法三: 首先拿到操作系统的root权限,然后kill掉Mysql服务或者手动stop掉,这里我推荐使用手动stop; 1 service mysql stop然后执行 1 mysqld_safe --skip-grant-tables &&,表示在后台运行,不再后台运行的话,就再打开一个终端吧。 接着登陆MySQL修改密码 1 mysql 2 mysql> use mysql; 3 mysql> UPDATE user SET password=password("test123") WHERE user='root'; 4 mysql> exit;注意:如果Mysql的版本是5.7及以上的话update语句如下: mysql8.0以上密码策略限制必须要大小写加数字特殊符号,然后试了试只用字符串root设为密码居然可以ヽ(ー_ー)ノ 1 mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Mysql123';如果执行报错,如下: ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement需要刷新权限表后,再次执行修改密码 flush privileges;附:mysql8配置远程访问 三、忘记原来的myql的root的密码 方法四: 首先关闭 mysql 服务 service mysqld stop修改 mysql 配置文件 修改 /etc/my.cnf ,在[mysqld]模块下面添加 skip-grant-tables ##忽略mysql权限问题,直接登录然后启动 mysql 服务,直接登录 mysq l数据库 此时登录mysql数据库不需要密码,可以直接登录 service mysqld start; mysql -u root -p修改密码 mysql> update mysql.user set password=PASSWORD('root') where User='root'; mysql> flush privileges; mysql> quit;注意:mysql5.7 的 user 表中的 password 字段已经改成了 authentication_string 字段了。 这时候,需要输入的命令是 : update user set authentication_string = password("root") where user="root" ;最后把 my.cnf 改回去,然后重启 mysql 服务 service mysqld restart;之后就可以用新密码登录了 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |