1. 登录Mysql Server:

$mysql -u root -p

2. 检查网络,Server是否允许远程连接:

mysql> show variables like '%skip_networking%';  此值应该为‘OFF’,一般默认值即为'OFF', 表示允许TCP/IP连接
skip_networking: 只允许通过一个套接字文件(Unix/Linux系统)或通过命名管道(Windows系统)进行本地连接,不允许ICP/IP连接; 这提高了安全性,但阻断了来自网络的外部连接和所有的Java客户程序(Java客户即使在本地连接里也使用TCP/IP).在值可以在/etc/mysql/my.cnf中进行设置.

3. 绑定权限到mysql.user数据表:

mysql> use mysql;
mysql> GRANT ALL ON *.* TO user@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
#允许任何IP地址('%'字符即表示这个意思)的PC, 用user帐户和password密码来远程访问整个MySQL Server('*.*'所有的所有)
#必须加类似这样的帐户,才可以远程登陆. root帐户是无法远程登陆的,只可以本地登陆.
#绑定此server下某个特定数据库, 比如只可以远程访问itest表
#mysql> GRANT ALL ON itest.* TO user@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

4. 修改Mysql配置文件:

$sudo vim /etc/mysql/my.cnf
#注释bind-address或者改为指定IP地址

5. 保存文件,重启service

$sudo /etc/init.d/mysql restart

6. 防火墙规则下,打开3306端口

$sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination Chain FORWARD (policy ACCEPT)
target prot opt source destination Chain OUTPUT (policy ACCEPT)
target prot opt source destination
#如果出现以上,则表示没有防火墙规则,所有端口已开放 #如果存在防火墙规则
$sudo vim /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙)
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
Tips:不要把这两条规则添加到防火墙配置的最后一行,否则会导致防火墙启动失败, 可以添加到22端口下边.
####################################
# Firewall configuration written by system-config-firewall
... ...
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
... ...
####################################
Tips: INPUT <--> RH-Firewall-1-INPUT 根据配置文件使用不同的链
$sudo service apache2 restart
#或者$sudo /etc/init.d/iptables restart 重启防火墙

如何设置MySql Server远程访问(Debian Linux)的更多相关文章

  1. MySql开启远程访问(Linux)

    Linux服务器上安装了MySql数据库服务器之后,在远程访问出现了61错误.经检查后,发现需要在MySql配置文件中取消绑定IP.具体做法如下: 打开my.cnf配置文件.连接到服务器之后,在终端中 ...

  2. CentOS 设置mysql的远程访问

    好记性不如烂笔头,记录一下. 安装了MySQL默认是拒绝远程连接的. 首先进入数据库,使用系统数据库mysql. mysql -u root -p mysql #回车,然后输入则使用了系统数据库 接着 ...

  3. Ubuntu设置MySQL允许远程访问

    1.注释bind-address = 127.0.0.1. 代码如下: > sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 将bind-address = ...

  4. (转载)mysql:设置mysql的远程访问

    1.登陆Mysqlmysql -u root -p2.允许任何IP访问,其中密码为admingrant all privileges on *.* to root@"%" iden ...

  5. mysql 无法远程访问(授权也没办法,确切的说是因为只绑定了127IP)

    默认状况下,出于安全考虑,mysql数据库屏蔽了远程访问功能. 然而在许多状况下,你需要在家或者从web程序去访问远端数据库服务器,这就相当麻烦了. 第一步: 激活网络设置你需要编辑mysql配置文件 ...

  6. 连接远程数据库时出现 SSH: expected key exchange group packet from server / 2003 - Can't connect to MySQL server on 'XXX' (10038) / 1130 - Host 'XXX' is not allowed to connect to this MySQL server

    昨天在自己的远程服务器上玩,把系统重装了.新装了MySQL,在本地用navicat连接的时候出了几个小问题. 问题一:SSH: expected key exchange group packet f ...

  7. 设置Mysql的连接超时参数

     在Mysql的默认设置中,如果一个数据库连接超过8小时没有使用(闲置8小时,即   28800s),mysql server将主动断开这条连接,后续在该连接上进行的查询操作都将失败,将   出现:e ...

  8. LINUX篇,设置MYSQL远程访问实用版

    每次设置root和远程访问都容易出现问题, 总结了个通用方法, 关键在于实用 step1: # mysql -u root mysql mysql> Grant all privileges o ...

  9. (二)阿里云ECS Linux服务器外网无法连接MySQL解决方法(报错2003- Can't connect MySQL Server on 'x.x.x.x'(10038))(自己亲身遇到的问题是防火墙的问题已经解决)

    我的服务器买的是阿里云ECS linux系统.为了更好的操作数据库,我希望可以用navicat for mysql管理我的数据库. 当我按照正常的模式去链接mysql的时候, 报错提示: - Can' ...

随机推荐

  1. [转][linux][centos]嵌入式 Linux下编译并使用curl静态库

    #x86 ./configure --disable-shared --enable-static --disable-ftp --disable-ipv6 --disable-rtsp --disa ...

  2. Python3基础 只有int类型,没有long类型

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  3. pytorch求范数函数——torch.norm

    torch.norm(input, p='fro', dim=None, keepdim=False, out=None, dtype=None) 返回所给tensor的矩阵范数或向量范数 参数: i ...

  4. vs Qt mysql 打包程序 Driver not loaded Driver not loaded

    vs下开发Qt连接mysql程序,开发过程中操作MySQL没有问题,但打包以后安装在别的电脑上发现竟然无法连接MySQL,打包的时候,所需的libmysql.dll等dll文件拷贝到exe同级目录了, ...

  5. Swift4.0复习类

    1.类的属性: 2.类的方法: 3.类作为引用类型: “Swift新增了一对操作符 === 与 !== 用于判定同一个类的两个对象引用是否指向同一对象实例.” 摘录来自: “大话Swift 4.0”. ...

  6. js文档系统-jsdoc-docdash

    一.参考文档 模版:https://github.com/clenemt/docdash 例子:http://clenemt.github.io/docdash/index.html jsdoc:ht ...

  7. 【WAP触屏】YouKu视频弹窗播放组件

    (function(window){ /* youku api : http://open.youku.com/tools 调用方法 : LM_youkuPop.open('XODI5Mzk3MDAw ...

  8. json与javabean、list、map之间的转化

    一.java普通对象和json字符串的互转 java对象---->json 首先创建一个java对象: public class Student { //姓名 private String na ...

  9. Java注解-注解处理器、servlet3.0|乐字节

    大家好,我是乐字节的小乐,上次给大家带来了Java注解-元数据.注解分类.内置注解和自定义注解|乐字节,这次接着往下讲注解处理器和servlet3.0 一.注解处理器 使用注解的过程中,很重要的一部分 ...

  10. Go资源被墙最快解决方案

    原文链接:https://juejin.im/post/5cd945946fb9a032060c47a3,补充,最新的1.13版本go里默认就是用go module,直接设置代理即可: 注:如果没法升 ...