LINUX下忘记MySQL的ROOT密码后修改,以及添加访问IP。

网上有大概几种主要方法,试过之后,感觉都有些乱,有些也不管用,下面推荐一个算是主流的方法,已经测试完成,修改成功。

1、停止MySQL服务

执行:/etc/init.d/mysql stop,你的机器上也不一定/etc/init.d/mysql也可能是/etc/init.d/mysqld

2、跳过验证启动MySQL

/usr/local/mysql/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &

注:如果mysqld_safe的位置如果和上面不一样需要修改成你的,如果不清楚可以用find命令查找。

3、重置密码

等一会儿,然后执行:/usr/local/mysql/bin/mysql -u root mysql

4. 修改root用户的密码;

mysql> update mysql.user set password=PASSWORD('123456') where User=root;
mysql> flush privileges;
mysql> quit
5. 重新启动MySQL,就可以使用新密码登录了.
mysql -u root -p123456
 
 
 
 
解决方法:
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;

2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.40.54' IDENTIFIED BY '123456' WITH GRANT OPTION;

转载于:https://www.cnblogs.com/lancode/p/3195349.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值