zoukankan      html  css  js  c++  java
  • Linux/CentOS下开启MySQL远程连接,远程管理数据库

    当服务器没有运行PHP、没装phpMyAdmin的时候,远程管理MySQL就显得有必要了。

    第一步:开启MySQL用户的远程访问权限

    mysql -u root -p mysql # 第1个mysql是执行命令,第2个mysql是系统数据名称

    在MySQL控制台执行:

    grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
    # root是用户名,%代表任意主机,'123456'指定的登录密码(这个和本地的root密码可以设置不同的,互不影响)
    flush privileges; # 重载系统权限
    exit;

    如果想允许用户root从ip为192.168.137.99的主机连接到MySQL服务:

    grant all privileges on *.* to 'root'@'192.168.137.99' identified by '123456' with grant option;
    flush privileges;

    第二步:设置防火墙,让 3306 端口对外可访问

    iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
    # 查看规则是否生效
    iptables -L -n # 或者: service iptables status
    
    # 此时生产环境是不安全的,远程管理之后应该关闭端口,删除之前添加的规则
    iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

    注意上面iptables添加/删除规则都是临时的,如果需要重启后也生效,需要保存修改:

    service iptables save # 或者: /etc/init.d/iptables save

    另外,

    vi /etc/sysconfig/iptables # 加上下面这行规则也是可以的
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

    远程管理数据库的软件,Windows系统下可以使用SQLyog,用了几种远程软件,感觉这个用起来蛮不错的。


    【附加说明】若安装了phpMyAdmin,也可按如下方式修改用户权限:

  • 相关阅读:
    IOS 开发 网络发展史(基础知识)
    加密详解
    IOS对接支付的流程
    App混合开发浅谈
    swift语法100
    2015年最新Android基础入门教程目录第二章:Android UI(User Interface)详解(已完结 40/40)
    2015年最新Android基础入门教程目录第一章:环境搭建与开发相关(已完结 10/10)
    Reactive开发
    tensorflow 安装
    Mask RCNN笔记
  • 原文地址:https://www.cnblogs.com/52php/p/5665384.html
Copyright © 2011-2022 走看看