配置Mysql远程连接

一.赋予某个用户权限

  1.赋予权限格式:grant 权限 on 数据库对象 to 用户@IP(或者相应正则)

    注:可以赋予select,delete,update,insert,index等权限精确到某一个数据库某一个表。

    GRANT ALL PRIVILEGES ON *.* TO ‘用户名‘@‘%‘ IDENTIFIED BY ‘密码‘ WITH GRANT OPTION;

      这里表示赋予该用户所有数据库所有表(*.*表示所有表),%表示所有IP地址。

  2.刷新权限:FLUSH PRIVILEGES;

  3.查看权限:select user,host from mysql.user;

  

    注:mysql是自带的数据库名,里面的表是Mysql相关配置信息端口,事件等等,其中user存放用户信息

      

  3.按理就可以在其他IP地址连接了。

二.意外

  1.配置文件种指定了blind-address:

    查看Mysql配置文件种(一般是/etc/my.cnf种)是否指定了blind-address,这表示只能是某个或某几个ip能连接。如果有就将它注释了,前面加#号注释。然后从启mysql。

    重启mysql:service mysqld restart,如果安装的是Mariadb(我的就是),则需要使用systemctl restart mariadb.service

  2.防火墙的原因:

    可能会报:ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘你要连接的IP‘ (111)。

    原因:1.可能是Mysql端口不对(默认是3306),只需加参数 -P 你的端口指定就行;

查看mysql服务端口

       2.还有可能是有防火墙阻止,可以通过telnet来测试(可以直接关闭防火墙)。

          防火墙相关命令:

            (1)查看防火墙状态:service  iptables status或者systemctl status firewalld或者firewall-cmd --state

            (2)暂时关闭防火墙:systemctl stop firewalld或者service  iptables stop或者systemctl stop firewalld.service

            (3)永久关闭防火墙:systemctl disable firewalld或者chkconfig iptables off或者systemctl disable firewalld.service

            (4)重启防火墙:systemctl enable firewalld或者service iptables restart  或者systemctl restart firewalld.service

             (5)永久关闭后重启:chkconfig iptables on

  

  3.端口未开启:(我遇到的就是这个原因)

      Mysql:ERROR 2003 (HY000) 110(连接超时)

      查看你的服务器是否把对应端口打开,未打开启动就行了。

      

        

         

      

原文地址:https://www.cnblogs.com/lyq-biu/p/10859273.html

时间: 2024-10-09 20:45:16

配置Mysql远程连接的相关文章

[转]阿里云配置mysql远程连接

[转]阿里云配置mysql远程连接 默认是不能用客户端远程连接的,阿里云提供的help.docx里面做了设置说明,mysql密码默认存放在/alidata/account.log 首先登录: mysql -u root -h localhost -p use mysql                #打开mysql数据库 #将host设置为%表示任何ip都能连接mysql,当然您也可以将host指定为某个ip update user set host='%' where user='root'

阿里云配置mysql远程连接

默认是不能用客户端远程连接的,阿里云提供的help.docx里面做了设置说明,mysql密码默认存放在/alidata/account.log 首先登录: mysql -u root -h localhost -p use mysql                #打开mysql数据库 #将host设置为%表示任何ip都能连接mysql,当然您也可以将host指定为某个ip update user set host='%' where user='root' and host='localho

Ubuntu 配置MySQL远程连接

文件路径: /etc/mysql/mysql.conf.d/mysqld.cnf 将bind-address = 127.0.0.1修改为bind-address = 0.0.0.0 重新启动并登陆mysql sudo service mysql restart2 mysql -uroot -p 修改权限: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; 刷新生效

linux下mysql远程连接配置和启动重启关闭

linux mysql远程连接 远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现Can’t connect to MySQL on ’192.168.1.99’(10061)错误时,是由于MySQL不准许远程连接.修改方法如下: 1:在服务端MySQL/my.ini文件 或者/etc/mysql/my.cnf .修改bind-address=127.0.0.1 为 bind-address=0.0.0.0 2:重新启动MySQL服务.测试连接情况: 如果没有

mysql 远程连接速度慢的解决方案

PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入 skip-name-resolve这一句.连接mysql速度慢的解决方法. 2台服务器,一台跑iis+php,一台跑mysql,和以往一样配置好环境,测试页面一切OK 跑 应用的时候发现php访问mysql速度很慢,

[转]MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'(111) 的问题

装了个navicat ,然后去连接mysql服务器,一直连不上,一开始以为是防火墙问题,后来防火墙都关闭, iptable服务关闭,还是不行,网上查了下:主要是因为设置了bind_address=127.0.0.1 原文引用: 问题描述: 从一台linux远程连接另一台linux上的MySQL, 出现ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xxx.85'(111)错误. [mysql@vvmvcs0 ~]$ my

【转载】mysql 远程连接速度慢的解决方案

原文地址:http://blog.163.com/[email protected]/blog/static/16674283420110224207826/ PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入 skip-name-resolve这一句.连接mysql

mysql 远程连接超时解决办法

设置mysql远程连接root权限 在远程连接mysql的时候应该都碰到过,root用户无法远程连接mysql,只可以本地连,对外拒绝连接. 需要建立一个允许远程登录的数据库帐户,这样才可以进行在远程操作数据库. 方法如下: 默认情况下MYSQL数据库的系统数据库mysql系统表user内用户权限只提供localhost本机登陆: 需要更改权限才能实现远程连接MYSQL数据库. 可以通过以下方式来确认: root#mysql -h localhost -uroot -p Enter passwo

Navicat for mysql 远程连接 mySql数据库10061、1045错误

用navicat连接远程的mysql数据报错: 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061.1045错误或 2003-Can't connect to MySQL on '192.168.1.2'(10061),这个原因是因为MySQL不准许远程连接. 最简单的办法是 MySQL远程配置 代码如下 复制代码 GRANT ALL PRIVILEGES ON *.* TO [email protected]'%' IDENTIFIED BY '