MySQL本地可以连接,远程连接不上的解决

1.原因分析

在服务器上安装好了mysql server。启动服务之后,通过 mysql -u 用户名 -p 密码,可以正常的连接,但是在其他的机器上连接不上。

出现这种问题的原因可能有两点:

  • mysql安装好后,默认只对127.0.0.1的本机开放,没有对远程的主机开放。

解决办法:

(1)找到默认的mysql的配置文件,一般为 /etc/mysql/my.cnf 或者 /etc/my.conf

(2)找到 bind-address=  这个选项 ,修改为  bind-address = 0.0.0.0 (或者根据自己的安全需求,修改为相应的开放的ip地址)

(3)重启mysql服务器 (/etc/init.d/mysql stop  /etc/init.d/mysql start)

  • 用户的权限配置配置正确,用户没有权限在远程登录mysql服务器

解决的办法和相关分析见:http://www.cnblogs.com/wonder315/archive/2011/11/02/2233010.html

自己参照这个教程的时候,出现了一些问题:

(1)使用方法1--改表法的时候,出现这种情况

ERROR 1062 (23000): Duplicate entry ‘%-root‘ for key ‘PRIMARY‘

原因是,里面有多个以root用户的记录,因此会失败。

(2)于是乎使用第二种方法--授权法。很快就搞定了,没有什么问题。推荐使用这种方法

时间: 2024-10-04 22:04:34

MySQL本地可以连接,远程连接不上的解决的相关文章

Centos上安装mysql配置并授权远程连接

1.通过yum来进行mysql安装 查看yum上提供的mysql数据库可下载的版本: yum list | grep mysql 通过yum install -y mysql-server mysql mysql-deve命令将mysql mysql-server mysql-devel都安装好,出现如下信息标识mysql安装成功: 2.初始化及相关配置 通过service mysqld start命令启动mysql 通过mysqladmin -u root password 'root'给ro

ubuntu下MySQL的安装及远程连接配置(转)

1.命令窗口中输入sudo apt-get install mysql-server mysql-client 即可(配置文件位置:/etc/mysql/my.cnf 启动文件位置:/etc/init.d/mysql) 2.安装期间会提示你输入ROOT账号的密码. 3.安装完成后,就可以利用命令mysql -u root -p来访问数据库了. 4.设置远程连接访问,安装完成后,MySQL的配置文件位于:/etc/mysql/my.cnf 5.vim /etc/mysql/my.cnf找到 bin

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

问题描述:MySQL数据库安装成功后,在服务器本地可以连接成功,但是使用工具navicat无法进行远程连接,如图: 原因:MySQL默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接. 解决方法: 1. 进入mysql: /usr/local/mysql/bin/mysql -u root -p(根据服务器安装的数据库地址而定) 或者 mysql -uroot -p 如图 密码输入时,linux命令面板不会有任何反应,输入完后回车键 2. 使用mys

widows本地-xshell实现远程连接linux服务器图形界面

本地环境远程连接linux图形界面,常用的实现工具有,VNC.Puty.Xshell等,这里我们用的xshell manager: Xmanager简介:Xmanager是一个运行于 Windows平台上的高性能的X Server软件.它能把远端Unix/Linux的桌面无缝地带到你的Windows上,甚至电脑是在内网或防火墙后,也能通过SSH协议安全的运行远端的X应用程序. 特点包括: 可通过Xcongfig工具设置多个Xmanager设置: 支持多用户的Windows终端环境: 支持多个IP

mac 连接远程服务器、上传文件

1.连接远程服务器: ssh 命令 +用户名@服务器域名 ssh [email protected] 2.上传文件到远程服务器:scp 命令 +本地文件路径 + 用户名@服务器域名:服务器上存放的文件路径 MAC20151009AdeMac-mini:~ admin$ scp ~/documents/wx_sample.php [email protected]:/srv/www/li753-107.members.linode.com/public_html/wx/

MySQL通过Navicat实现远程连接的过程

直接使用Navicat通过IP连接会报各种错误,例如:Error 1130: Host '192.168.1.80' is not allowed to connect to this MySQL server. 经过个人验证,得到解决方法,如下: 授权法: 1.首先使用localhost登录到想要进行远程连接的数据库 2.打开命令提示窗口,输入如下命令: mysql> grant all privileges on *.* to 'root'@'%' identified by '123456

MYSQL服务器就开启远程连接

如何设置MYSQL服务器允许远程连接?如果你使用的虚拟主机与数据库不在同一台服务器上,那么MySQL 服务器就需要允许远程链接,网站才能正常运行.那么如何设置MYSQL服务器允许远程连接呢?我想这是很多人都想提出的疑问,下面中国信息港就与大家一起来探讨下如何设置MYSQL服务器允许远程连接? MySQL服务器的远程链接设置有两种方法: 一.改表法. 可能是你的帐号不允许从远程登陆,只能在localhost登录.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql&qu

ubuntu16.04服务器配置mysql,并开启远程连接

ubuntu16.04mysql安装就不说了: 直接重点  这里我用的是阿里云的ecs服务器,ubuntu16.04系统 1授权用户,并允许远程登录; 默认的MySQL只有一个root账号,所以不妨先建一个和root一样权利的账号,并授权远程登陆的许可,那么我们先登录MySQL: mysql -u root -p  登录mysql 首先我们授权一个叫Ubuntu(叫什么由你定)的账户,并授予它远程连接的权力,命令如下: 用户密码自己设置即可 GRANT ALL PRIVILEGES ON *.*

centos7通过yum安装mysql,并授权远程连接

安装: CentOS 7的yum源中没有正常安装MySQL的mysql-sever文件,需要去官网上下载(通过安装mysql的yum容器,再通过yum安装mysql) 注:安装前,需要卸载所有的mariadb软件(完全兼容mysql的另一个数据库,mysql原创者所写),通过命令yum remove mariadb* 获取yum地址: 安装mysql的yum容器: 其实就是在/etc/yum.repo.d/  下添加了两个容器档案: 查看那个yum容器有什么mysql软件(yum install

MySQL重置密码与远程连接权限问题

如果mysql没有密码,或者密码设置为空的时候可以通过在用管理员身份打开cmd,然后在里面输入mysqladmin -u root password 123456  这个地方的密码是明文密码. 如果忘记了 MySQL 的 root 密码,可以用以下方法重新设置: 1. KILL掉系统里的MySQL进程,方法如下: a.点击桌面工具栏打开任务栏管理器. b.从任务管理器的进程中找到mysqld.exe进程,点击右键选择结束进程. 2. 在命令行中输入命令 mysqld --skip-grant-t