linux 下解决mysql root 权限无法远程连接问题

问题描述:MySQL数据库安装成功后,在服务器本地可以连接成功,但是使用工具navicat无法进行远程连接,如图:

原因:MySQL默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接。

解决方法:

1. 进入mysql:

/usr/local/mysql/bin/mysql -u root -p(根据服务器安装的数据库地址而定)
或者 mysql -uroot -p

如图

密码输入时,linux命令面板不会有任何反应,输入完后回车键

2. 使用mysql库:

use mysql;

3. 查看用户表:

SELECT `Host`,`User` FROM user;

4. 更新用户表:(其中%的意思是允许所有的ip远程访问,如果需要指定具体的某个ip就写上具体的ip即可)

UPDATE user SET `Host` = ‘%‘ WHERE `User` = ‘root‘ LIMIT 1;

5. 强制刷新权限:

flush privileges;

测试成功!

原文地址:https://www.cnblogs.com/zjknb/p/12130822.html

时间: 2024-12-04 19:05:48

linux 下解决mysql root 权限无法远程连接问题的相关文章

linux下修改MySQL root密码后数据库消失

Linux系统下如果没有通过password()函数修改mysql的root密码就会导致mysql数据库消失.有些人可能不知道而直接修改了mysql的root密码,于是产生了mysql数据库消失的问题,这个时候该怎么处理呢? 可以用下面的办法解决: 1.修改mysql数据库目录配置文件:my.cnf(或my.ini) [mysqld]下添加: skip-grant-tables 2.重启mysql服务,然后用mysql 登录. 3.进入后,可以看到,mysql数据库已呈现,然后修改密码: upd

linux下忘记mysql root密码解决办法

vi /etc/my.cnf    #编辑文件,找到[mysqld],在下面添加一行skip-grant-tables [mysqld] skip-grant-tables :wq!  #保存退出 service mysqld restart  #重启MySQL服务 2.进入MySQL控制台 mysql -uroot -p   #直接按回车,这时不需要输入root密码. 3.修改root密码 系统运维  www.osyunwei.com  温馨提醒:qihang01原创内容©版权所有,转载请注明

Linux下修改mysql root密码

1.修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables 2.保存配置文件后,重启MySQL服务 service mysqld restart 3.再次进入MySQL命令行 mysql -uroot -p,输入密码时直接回车,进入MySQL数据库输入以下命令: mysql>use mysql;mysql> update user set password=passworD("test") where use

linux下创建具有root权限的帐号

useradd -u 0   -o  -g root  -G root -d /home/user1 user1 usermod -u 0  -o  -g root  -G root user1 说明: -u 0:指将uid指定为0(零)与root相同,登录后的提示符为#而非$. -o:指因为重复了uid(与root帐号的uid重复)必须指定这个参数. -g root:初始化组的组名,当用户属于多个组时,(在-G参数中指定),登录时所在组.缺省该项时,系统新建一个与用户名同名的组,并且初始化时设

linux下解决mysql 连接超时问题,永久生效

1,mysql 默认空闲8小时后,就会断开数据库连接,要解决这个问题,就要加长时间 2,修改mysql配置文件 /etc/mysql/my.cnf ,记得修改之前要备份 添加如下内容,如果有则修改,时间以秒为单位 [mysqld] wait_timeout=31536000 interactive_timeout=31536000 3,执行mysql restart 重启mysql 4,查看修改是否生效 show variables like '%timeout'; 5,好了到此结束,以后再也不

如何开启MySQL远程访问权限 允许远程连接

1.改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"  mysql -u root -pvmwaremysql>use mysql;  mysql>update user set host = '%' whe

开启MySQL远程访问权限 允许远程连接

https://www.cnblogs.com/weifeng1463/p/7941625.html mysql> use mysql; Database changedmysql> grant all privileges  on *.* to [email protected]'%' identified by "password";Query OK, 0 rows affected (0.00 sec) mysql> select host,user,passw

远程连接linux下的mysql Err1045 Err2003解决办法

本人linux系统 Centos7 1.Err2003 我个人的情况是因为linux中防火墙开启并阻止了3306这个mysql端口的远程连接 解决办法: CentOS 7.0默认使用的是firewall作为防火墙,现在要将其关闭 systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动firewall-cmd --state #查看默认防火墙状态(关闭后显示not

Linux下开启mysql数据库的远程访问权限

摘要:今天在Linux服务器上安装了msyql数据库,在本地访问的时候可以访问,但是我想通过远程的方式访问的时候就不能访问了,查询资料后发现,Linux下MySQL默认安装完成后只有本地访问的权限,没有远程访问的权限,需要你给指定用户设置访问权限才能远程访问该数据库,下面把我的做法记录一下: 一:登录安装后的mysql数据库,如下图: 二:输入给root用户设置权限的命令行并回车,如下图: 这里的root代表root用户,最后的root代表root用户的密码,我这里用户名,密码都是root,中间