zoukankan      html  css  js  c++  java
  • mysql允许远程登录

    Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接,因此为了使其可以远程需要进行如下操作:

    一、允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,

    具体操作如下:

    在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 进行授权操作:

    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

    重载授权表:

    FLUSH PRIVILEGES;

    退出mysql数据库:

    exit

    二、允许root用户在一个特定的IP进行远程登录,并具有所有库任何操作权限,具体操作如下: 在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 进行授权操作: GRANT ALL PRIVILEGES ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword" WITH GRANT OPTION; 重载授权表: FLUSH PRIVILEGES; 退出mysql数据库: exit

    三、允许root用户在一个特定的IP进行远程登录,并具有所有库特定操作权限,具体操作如下: 在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 进行授权操作: GRANT select,insert,update,delete ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword"; 重载授权表: FLUSH PRIVILEGES; 退出mysql数据库: exit

    四、删除用户授权,需要使用REVOKE命令,具体命令格式为: REVOKE privileges ON 数据库[.表名] FROM user-name; 具体实例,先在本机登录mysql: mysql -u root -p"youpassword" 进行授权操作: GRANT select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152" IDENTIFIED BY "youpassword"; 再进行删除授权操作: REVOKE all on TEST-DB from test-user; ****注:该操作只是清除了用户对于TEST-DB的相关授权权限,但是这个“test-user”这个用户还是存在。 最后从用户表内清除用户: DELETE FROM user WHERE user="test-user"; 重载授权表: FLUSH PRIVILEGES; 退出mysql数据库: exit

     
    五、MYSQL权限详细分类: 全局管理权限: FILE: 在MySQL服务器上读写文件。 PROCESS: 显示或杀死属于其它用户的服务线程。 RELOAD: 重载访问控制表,刷新日志等。 SHUTDOWN: 关闭MySQL服务。 数据库/数据表/数据列权限: ALTER: 修改已存在的数据表(例如增加/删除列)和索引。 CREATE: 建立新的数据库或数据表。 DELETE: 删除表的记录。 DROP: 删除数据表或数据库。 INDEX: 建立或删除索引。 INSERT: 增加表的记录。 SELECT: 显示/搜索表的记录。 UPDATE: 修改表中已存在的记录。 特别的权限: ALL: 允许做任何事(和root一样)。 USAGE: 只允许登录--其它什么也不允许做。

    LNMP一键包安装后解决MySQL无法远程连接问题

    2017-01-13 13:56 出处:未知 人气:279 评论(0)
     

    MySQL

    问题重现:

    今天在阿里云VPS上安装军哥vpser的lnmp一键包, 传送门 后,MySQL可以通过phpmyadmin连接,但是无法通过SqlYog(Windows)或Sequel Pro(Mac)下进行远程连接,报出 2003 不能连接MySql服务器“XXXXXX”(10061) 这样一个错误。

    解决思路:

    之前也遇到过这个问题,解决的途径也是五花八门,从百度和Google上也看到各种解决方案,基本上分以下几种:

    1. 没有给root对应的权限
      -- @'192.168.1.123'可以替换为@‘%’就可任意ip访问
      mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.123' IDENTIFIED BY '' WITH GRANT OPTION; 
      mysql> FLUSH PRIVILEGES;
    2. 直接用 UPDATE 更新 root 用户 Host, 但不推荐
      mysql> UPDATE user SET Host='192.168.1.123' WHERE User='root' AND Host='localhost' LIMIT 1;
      mysql> FLUSH PRIVILEGES;
      以上2种方法大刘都使用了,问题依然没有解决。于是继续在lnmp官网上找寻答案,结果终于找到了。 https://lnmp.org/faq.html

    MySQL/MariaDB无法远程连接,如何开启?

    为了安全LNMP默认是禁止远程连接的,开启方法: https://bbs.vpser.net/thread-13563-1-1.html

    直接通过iptables进行操作

    1. 查看已有的iptables规则,以序号显示

      iptables -L -n --line-numbers

      默认lnmp一键包关闭了3306端口

    2. 删除对应的DROP规则

      iptables -D INPUT 5

    再次测试下,MySQL已经可以远程登录了。这里记录下,以便今后同样遇到这样问题的同学可以参考下

  • 相关阅读:
    链路层Introduce
    网络扫描常用命令
    SYN DDOS 防御策略
    Python学习笔记(三)------列表
    Python3.4学习笔记(二)------逻辑操作符,循环体,分支
    Python学习笔记(一)------安装,常识普及
    PHP学习日志一----------web开发 环境安装
    ubuntu中 给chrome安装adobe flash player
    Openwrt折腾日志(二)----------环境搭建及依赖安装
    Openwrt折腾日志(一)----------简介及ubuntu安装
  • 原文地址:https://www.cnblogs.com/jasonxiaoqinde/p/6554214.html
Copyright © 2011-2022 走看看