如何修改mysql忘记密码 root密码

微信公众号:centoscn
修改MySQL数据库中root用户的密码及访问权限
一:整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助!
方法1: 用SET PASSWORD命令
  mysql -u root
  mysql& SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法2:用mysqladmin
  mysqladmin -u root password &newpass&
  如果root已经设置过密码,采用如下方法
  mysqladmin -u root password oldpass &newpass&
方法3: 用UPDATE直接编辑user表
  mysql -u root
  mysql&
  mysql& UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
  mysql& FLUSH PRIVILEGES;
在丢失root密码的时候,可以这样
  mysqld_safe --skip-grant-tables&
  mysql -u root mysql
  mysql& UPDATE user SET password=PASSWORD(&new password&) WHERE user='root';
  mysql& FLUSH PRIVILEGES;
二:MySQL服务访问权限
mysql默认只能从本地连接,查看了/etc/f找到bind-address才发现配置的是127.0.0.1(bind-address=127.0.0.1),直接改为bind-address=192.168.0.xxx(本机ip),然后再查看3306端口打开了,ok,可以正常连接了。
所以除了给账户权限以外 还有修改 /etc/f 找到 bind-address = 127.0.0.1 修改为
bind-address = 0.0.0.0&
&&&&&&&重启mysql :&
&&&&&& sudo /etc/init.d/mysql restart
&&&&&&&否则会报 ERROR 2003 (HY000): Can't connect to MySQL server on 'x.x.x.x' (111)
环境:RHEL 5.3
安装了MySQL之后,MySQL的root用户默认是不开放远程访问权限的。为了开放它,只需要两步:
用Linux系统的root用户登录系统,然后:
(1)开放3306端口的远程连接权限:
在&-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited&这一行的上面(注意,一定是上面),添加如下一行:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
然后重启iptables:
[root@localhost ~]# service iptables restart
(2)为MySQL的root用户添加远程访问权限:
[root@localhost ~]# mysql
mysql& grant all on *.* to&root@'%'&identified by 'your_password';&&&&&&&&&&&&&&&&
Query OK, 0 rows affected (0.01 sec)
mysql& exit
[root@localhost ~]# /etc/init.d/mysql restart
localhost是什么?localhost与127.0.0.1之间的关系
localhost&代表的是本地的意思&
一般来说 代表IP地址的话就是127.0.0.1&
也就是说 我 ping 127.0.0.1 == ping localhost
127.0.0.1是代表自己机器的回路地址,无论是否联网,自己机器都是127.0.0.1,127段是保留区段。
localhost与127.0.0.1的关系:
localhost可以看成主机名,127--可以看成主机ip,中间曾在一个主机名到ip地址的映射!&
如果你在mysql中连接数据库,要用localhost而不能用127.0.0.1。因为mysql中对于用户的登陆位置是有限定的,具体见mysql数据库(database名字就是mysql)里面的user表,里面存放的ip和存放的域名是不一样的,mysql进行匹配时不会自动将ip转换成域名的。你授权一个用户从这个ip访问,不等于授权他从这个余名访问。&
1、mysql -h 127.0.0.1 的时候,使用TCP/IP连接,&
&&&&& mysql server 认为该连接来自于127.0.0.1或者是&localhost.localdomain& 。
2、mysql -h localhost 的时候,是不使用TCP/IP连接的,而使用Unix socket;&
&&&& 此时,mysql server则认为该client是来自&localhost& 。
------分隔线----------------------------Mysql5.7忘记root密码及mysql5.7修改root密码的方法
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Mysql5.7忘记root密码及mysql5.7修改root密码的方法的相关资料,需要的朋友可以参考下
关闭正在运行的 MySQL :
[root@www.woai.it ~]# service mysql stop
[root@www.woai.it ~]# mysqld_safe --skip-grant-tables &
为了安全可以这样禁止远程连接:
[root@www.woai.it ~]# mysqld_safe --skip-grant-tables --skip-networking &
使用mysql连接server:
[root@www.woai.it ~]# mysql -p
更改密码:
mysql& update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
*特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了
而是将加密后的用户密码存储于authentication_string字段
修改完毕。重启
[root@localhost ~]# service mysql restart
然后mysql就可以连接了
但此时操作似乎功能不完全,还要alter user…
mysql& alter user 'root'@'localhost' identified by '123';
这样也可以:
mysql& set password for 'root'@'localhost'=password('123');
重点给大家介绍下mysql 5.7 root密码修改
MySQL管理者密码设置或修改:
依据官方说明5.6以后版本,第一次启动时会在root目录下生产一个随机密码,文件名.mysql_secret。
[root@bright ~]# cat /root/.mysql_secret
# Password set for user 'root@localhost' at
:Jj+FTiqvyrF
[root@bright ~]# cd /usr/local/mysql/bin/
[root@bright bin]# ./mysqladmin -u root -h localhost password '123456' -p
Enter password: #此行输入.mysql_secret里第二行内容
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
官方的方式,笔者无论是否使用--skip-grant-tables启动mysql都测试失败,亲们可以测试:
shell&mysql -uroot -p'password' #password即.mysql_secret里的密码
mysql&SET PASSWORD = PASSWORD('newpasswd');
旧版本,安装后ROOT无密码,按如下操作:
shell&service mysqld stop #停止mysql服务
shell&mysqld_safe --skip-grant-tables & #以不启用grant-tables模式启动mysql
shell&mysql -uroot -p #输入命令回车进入,出现输入密码提示直接回车。
mysql&update user set password=PASSWORD("123456")where user="root"; #更改密码为 newpassord
mysql& #更新权限
mysql&quit #退出
shell&service mysqld stop #停止mysql服务
shell&mysqld_safe --skip-grant-tables & #以不启用grant-tables模式启动mysql
shell&mysql -uroot -p #输入命令回车进入,出现输入密码提示直接回车。
mysql & set password for root@localhost = password('mysqlroot');
shell&/path/mysqladmin -u UserName -h Host password 'new_password' -p
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具1135人阅读
Linux(7)
Mysql(4)
方法1: 用SET PASSWORD命令
  mysql -u root
  mysql& SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法2:用mysqladmin
  mysqladmin -u root password &newpass&
  如果root已经设置过密码,采用如下方法
  mysqladmin -u root password oldpass &newpass&
方法3: 用UPDATE直接编辑user表
  mysql -u root
  mysql&
  mysql& UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
  mysql& FLUSH PRIVILEGES;
在丢失root密码的时候,可以这样
  mysqld_safe --skip-grant-tables&
  mysql -u root mysql
  mysql& UPDATE user SET password=PASSWORD(&new password&) WHERE user='root';
  mysql& FLUSH PRIVILEGES;
方法4: 更改配置表
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
2.修改MySQL的登录设置:
在[mysqld]的段中加上一句:skip-grant-tables
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi。
3.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
4.登录并修改MySQL的root密码
# /usr/bin/mysql
Welcome to the MySQL monitor. C or \g.
Your MySQL connection id is 3 to server version: 3.23.56
Type '' or '\h' for help. Type '\c' to clear the buffer.
mysql& USE
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql& UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
Query OK, 0 rows affected (0.01 sec)
mysql& quit
5.将MySQL的登录设置修改回来
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
6.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]
Work for fun,Live for love!
恢复权限可以在跳过权限校验之后,执行权限分配语句
grant all on *.* to root@'%'
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:598797次
积分:7331
积分:7331
排名:第2470名
原创:115篇
转载:210篇
评论:104条
本人家乡是宁德,现在福州工作. 如果您觉得这系列的文章对你有所帮助,
欢迎打赏。
支付宝打赏
(1)(1)(4)(4)(6)(2)(2)(4)(10)(4)(3)(4)(13)(1)(1)(15)(1)(5)(1)(1)(2)(1)(1)(7)(1)(2)(14)(37)(1)(8)(3)(2)(4)(2)(1)(12)(8)(2)(1)(2)(6)(4)(9)(6)(17)(1)(4)(6)(2)(23)(7)(4)(3)(2)(6)(2)(2)(1)(2)(1)(4)(1)(1)(3)(18)如何重设 MySQL 的 root 密码 | Ghost中文网}

我要回帖

更多关于 mysql 5.7root密码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信