[Linux]重置MySQL密码
首先是找到my.cnf文件# find / -name 'my.cnf'进入etc目录# cd /etc编辑my.cnf文件# vi my.cnf找到[mysqld]区域在此区域最下面输入skip-grant-tables按esc 输入:wq回车保存退出重启mysql服务#/etc/init.d/mysqld restart或者# service mysqld restart接下来访问数据库
·
首先是找到my.cnf文件
# find / -name 'my.cnf'
进入etc目录
# cd /etc
编辑my.cnf文件
# vi my.cnf
找到[mysqld]区域
在此区域最下面输入
skip-grant-tables
按esc 输入:wq回车保存退出
重启mysql服务
#/etc/init.d/mysqld restart
或者
# service mysqld restart
接下来访问数据库
方式一:
#mysql -uroot -p
方式二(建议):
进入mysql的安装目录,在mysql的bin目录下用下面的命令
密码这里不用输入,直接回车
进入MYSQL后,重置密码
旧版本mysql直接输入
UPDATE user SET password=password('123456') WHERE User='root';
123456为自己设置的密码
最后保存,退出
flush privileges ;
quit
新版本的mysql重置密码(我用的5.7.16)
特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了。
而是将加密后的用户密码存储于authentication_string字段
mysql> use mysql;
mysql> UPDATE user SET authentication_string=password("test123") WHERE user='root';
mysql> flush privileges;
mysql> exit;
重新编辑my.cnf文件
# vi my.cnf
将插入的那行代码去掉
去掉刚才加的这行skip-grant-tables代码
保存退出
然后重启MySQL
# service mysqld restart
自此MySQL的密码就设置好了
下面是解决Navicat连接服务器中Mysql权限问题
问题描述:
Error: 1130 - Host'ClientIP' is not allowed to connect to this MySQL server。
解决方法一(如果此方法无效建议使用下面的方法):
使用root登录Linux,登录MySQL
# mysql -u root -p
进入MySQL后
更改允许IP登录的范围
mysql>grant all privileges on *.* to 'root'@'%' identified by 'MySQL登录密码' with grant option;
如果将%换成单个IP,就是只允许这个IP主机登录MySQL
退出MySQL,重启MySQL服务即可。
解决方法二:
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
到这里,就可以登录Navicat来连接服务器的数据库了
更多推荐
已为社区贡献5条内容
所有评论(0)