Linux中 MySQL 授权远程连接的方法步骤

说明:当别的机子(IP )通过客户端的方式在没有授权的情况下是无法连接 MySQL 数据库的,如果需要远程连接 Linux 系统上的 MySQL 时,必须为其 IP 和 具体用户 进行 授权 。一般 root 用户不会提供给开发者。如:使用 Windows 上的 SQLyog 图形化管理工具连接 Linux 上的 MySQL 数据库,必须先对其进行授权。

1、在虚拟机中使用 root 用户登录 mysql 数据库

mysql -u root -p

说明:root 用户密码一般设置为 root

2、使用 mysql 命令为 root 用户授权 mysql 远程连接服务

mysql> grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

说明:此命令是为密码为 root 、IP(%)任意的 root 用户授权。(%:模糊查询,所有 IP 都可以,,可指定其他主机 IP;BY 后的 'root' 为密码)

3、将配置写入 mysql 授权表中

mysql> flush privileges;

修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。

mysql>use mysql;
mysql>update user set host = '%' where user ='root';
mysql>select host,user from user;
mysql> flush privileges;

补充:防火墙开放3306端口

1、打开防火墙配置文件

vi /etc/sysconfig/iptables

2、增加下面一行

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

3、重启防火墙

service iptables restart

注意:增加的开放3306端口的语句一定要在icmp-host-prohibited之前

附:个人配置

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-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 FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • Linux系统下实现远程连接MySQL数据库的方法教程

    前言 最近在工作中遇到了这个需求,估计搞了一个多小时才把这个远程连接搞好.一台本地电脑,一台云服务器,都是linux系统.下面来看看详细的介绍: 步骤 1.在服务器端开启远程访问 首先进入mysql数据库,然后输入下面两个命令: grant all privileges on *.* to 'root'@'%' identified by 'password'; flush privileges; 第一个*是数据库,可以改成允许访问的数据库名称 第二个 是数据库的表名称,代表允许访问任意的表 r

  • Linux下远程连接MySQL数据库的方法

    踩坑笔记 估计搞了一个多小时才把这个远程连接搞好.一台本地电脑,一台云服务器,都是linux系统. 步骤 1.在服务器端开启远程访问 首先进入mysql数据库,然后输入下面两个命令: grant all privileges on *.* to 'root'@'%' identified by 'password'; flush privileges; 第一个*是数据库,可以改成允许访问的数据库名称 第二个 是数据库的表名称,代表允许访问任意的表 root代表远程登录使用的用户名,可以自定义 %

  • linux配置mysql数据库远程连接失败的解决方法

    今天配置Linux下MySQL数据库可以远程访问的问题,百度这方面的资料有很多,但是方法都一样,都试过了却未能解决,记录一下  第一步:在/etc/mysql/my.cnf下找到bind-address = 127.0.0.1 在这行前加个"#"进行注释,或者改为: bind-address = 0.0.0.0 允许任意IP访问:或者指定自己需要远程访问的IP地址. 然后重启mysql:sudo /etc/init.d/mysql restart 第二步:授权用户能进行远程连接 gra

  • Linux服务器中MySQL远程连接的开启方法

    前言 学习MySQL重新整理以前非MK的记载 描述 没有开启的话连接数据库报错:2003-can't connect to MYSQL 方法/步骤 •第一步 远程连接上Linux系统,确保Linux系统已经安装上了MySQL数据库.登陆数据库. mysql -u$user -p $pwd •第二步 创建用户用来远程连接 GRANT ALL PRIVILEGES ON *.* TO '$username'@'%' IDENTIFIED BY '$password' WITH GRANT OPTIO

  • Linux mysql命令安装允许远程连接的安装设置方法

    而这些东西,正是新手很困惑的地方.一下是我的安装笔记,在Centos虚拟机上安装成功.中文的参考:http://xieyu.blog.51cto.com/213338/59749英文的参考 How to Install MySQL 5.0 on Linux,How to Install PHP 5 on Linux ,How to Install Apache 2 on Linux Linux mysqlapache php 安装过程.将apache ,mysql ,php 的tar.gz 文件

  • Linux中 MySQL 授权远程连接的方法步骤

    说明:当别的机子(IP )通过客户端的方式在没有授权的情况下是无法连接 MySQL 数据库的,如果需要远程连接 Linux 系统上的 MySQL 时,必须为其 IP 和 具体用户 进行 授权 .一般 root 用户不会提供给开发者.如:使用 Windows 上的 SQLyog 图形化管理工具连接 Linux 上的 MySQL 数据库,必须先对其进行授权. 1.在虚拟机中使用 root 用户登录 mysql 数据库 mysql -u root -p 说明:root 用户密码一般设置为 root 2

  • MySQL数据库远程连接开启方法

    第一中方法:比较详细以下的文章主要介绍的是MySQL 数据库开启远程连接的时机操作流程,其实开启MySQL 数据库远程连接的实际操作步骤并不难,知识方法对错而已,今天我们要向大家描述的是MySQL 数据库开启远程连接的时机操作流程. 1.d:\MySQL\bin\>MySQL -h localhost -u root 这样应该可以进入MySQL服务器 复制代码 代码如下: MySQL>update user set host = '%' where user = 'root'; MySQL&g

  • 解决MySQL无法远程连接的方法

    MySql远程连接无法打开解决办法 1.改表法. 请使用mysql管理工具,如:SQLyog Enterprise.navicate mysql 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑使用mysql管理工具登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 2. 授权法.

  • mysql允许远程连接的方法

    一.概述  本文主要介绍通过federated存储引擎建立远程连接表 测试环境:mysql 5.6.21 二.步骤 开启federated存储引擎 先查看federated存储引擎存储引擎是否启用 SHOW ENGINES ; 默认mysql是没有开启federated存储引擎,我这里因为已经配置了. 开启federated存储引擎只需要在my.cnf文件中增加'federated'就可以. 创建远程连接表 mysql配置远程连接必须在本地创建federated存储引擎的表,配置远程连接参数,本

  • IntelliJ DataGrip Oracle 11g远程连接的方法步骤

    目录 1. 修改Orcl监听文件 2. 查看服务名称,并记录下来 3.进行数据库设置 4.根据序号来进行. 5.点击第4步中的6号,点击图中位置加入 6.右键连接即可加入table 在Orcle服务在服务器本机上正常运行的情况下,并且Orcl服务器端口开启和防火墙允许的情况下,进行以下操作: 1. 修改Orcl监听文件 (路径不分大小写D:\Oracle\product\11.2.0\dbhome_1\network\admin\listener.ora) SID_LIST_LISTENER =

  • debian6配置mysql允许远程连接的方法(图)

    debian6系统: 首先先安装mysql吧: 打开终端(root)用户登入 apt-get purge mysql-server-5.5 安装完成后: 默认情况下Mysql只允许本地登录,所以需要修改配置文件将地址绑定给注释掉: 复制代码 代码如下: vim /etc/mysql/my.cnf #bind-address  = 127.0.0.1  <---注释掉这一行就可以远程登录了 若还是不行,请本地登录mysql执行词句:UPDATE user SET Password=PASSWORD

  • 配置mysql允许远程连接的方法

    vim /etc/my.cnf注释这一行:bind-address=127.0.0.1 ==> #bind-address=127.0.0.1保存退出.mysql -uroot -p123456 为需要远程登录的用户赋予权限: 复制代码 代码如下: mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";mysql> flush privileges; 远程登录命令

  • 云服务器Ubuntu_Server_16.04.1安装MySQL并开启远程连接的方法

    1. 安装MySQL: 利用下面三条命令安装相应软件: $sudo apt-get install mysql-server $sudo apt-get install mysql-client $sudo apt-get install libmysqlclient-dev 在执行第一条命令的过程中,需要设置MySQL的root账号的密码. 利用下面的命令查看MySQL的scoket状态,若处在listen状态则表示安装成功. $sudo netstat -tap | grep mysql 2

  • 开启MySQL远程连接的方法

    MySql-Server 出于安全方面考虑只允许本机(localhost, 127.0.0.1)来连接访问,这对于 Web-Server 与 MySql-Server 都在同一台服务器上的网站架构来说是没有问题的. 但随着网站流量的增加,后期服务器架构可能会将 Web-Server 与 MySql-Server 分别放在独立的服务器上,以便得到更大性能的提升,此时 MySql-Server 就要修改成允许 Web-Server 进行远程连接. 开启了远程连接,数据库的后期管理运维也不用每次都登到

随机推荐