데이터 베이스 MySQL 튜토리얼 Linux允许MySQL数据库远程访问方法

Linux允许MySQL数据库远程访问方法

Jun 07, 2016 pm 05:52 PM

远程连接MySQL出于安全考虑,一般都关闭了远程访问,但有时候需要提供远程访问数据库的服务,下面我们介绍两种开启mysql远程连接的方法。

Mysql默认root用户只能本地访问,不能远程连接管理mysql数据库,Linux如何开启mysql远程连接?设置步骤如下:
1、GRANT命令创建远程连接mysql授权用户itlogger

 代码如下 复制代码

mysql -u root -p
mysql>GRANT ALL PRIVILEGES ON *.* TO itlogger@localhost IDENTIFIED BY ‘www.itlogger.com’ WITH GRANT OPTION;
mysql>GRANT ALL PRIVILEGES ON *.* TO itlogger@”%” IDENTIFIED BY ‘www.itlogger.com’ WITH GRANT OPTION;

第一句增加itlogger用户授权通过本地机(localhost)访问,密码“www.itlogger.com”。第二句则是授与itlogger用户从任何其它主机发起的访问(通配符%)。
2、设置防火墙允许3306端口
vi /etc/sysconfig/IPtables
添加-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
(注意添加在-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited之前,否则可能导致规则不生效)
重启防火墙service iptables restart
3、附:Mysql无法远程连接的常见问题

1)查看Mysql的端口是否正确,通过netstat -ntlp查看端口占用情况,一般情况下端口是3306。

2)报错:ERROR 2003 (HY000): Can’t connect to MySQL server on ’192.168.51.112′ (111)
查看/etc/my.cnf中,skip-networking 是否已被注掉,需要注掉。
3)报错:ERROR 2003 (HY000): Can’t connect to MySQL server on ’192.168.51.112′ (113)
查看是否iptables没有允许mysql连接,通过:service iptables stop临时关闭测试是否可以正常远程访问,如果可以,按上面方面设置iptable允许3306端口
4)远程访问mysql速度很慢的解决方法
修改/etc/my.cnf或my.ini
[mysqld]下添加

 代码如下 复制代码
skip-name-resolve
skip-grant-tables

方法二 修改my.ini

第一步:修改my.cnf文件

使用文本编辑器去编辑MySQL服务器的配置文件my.cnf

 如果你使用Debian Linux,文件位置在: /etc/mysql/my.cnf

如果你使用Red Hat Linux/Fedora/Centos Linux,文件位置在: /etc/my.cnf

如果你使用FreeBSD,文件位置在: /var/db/mysql/my.cnf

 如果使用VI编辑,直接使用命令

 代码如下 复制代码

 # vi /etc/my.cnf

 

第二步:如果文件打开,按照下面内容进行

[mysqld]

 确保skip-networking是被注释的,或者被删除,然后添加下面一行内容

 bind-address=你的服务器IP

 例如,你的服务器IP是65.55.55.2,然后需要配置例如如下的内容:

 代码如下 复制代码

 [mysqld]

user            = mysql

pid-file        = /var/run/mysqld/mysqld.pid

socket          = /var/run/mysqld/mysqld.sock

port            = 3306

basedir         = /usr

datadir         = /var/lib/mysql

tmpdir          = /tmp

language        = /usr/share/mysql/English

bind-address    = 65.55.55.2

# skip-networking

....

..

....

 

 

这里面

bind-address : 你需要绑定的IP地址.

skip-networking : 开启 skip-networking 选项可以彻底关闭MySQL的TCP/IP连接方式,在一些文档中也提到在单机运行的 MySQL 推荐开启该选项,现在看,不太靠谱。

 

第三步:保存并且关闭文件

重启你的MySQL服务器,在命令行输出

# /etc/init.d/mysql restart

 第四步:绑定远程IP地址的管理权限

连接MySQL服务器:

 $ mysql -u root -p mysql

 绑定权限到新的数据表(这一步可以借助phpmyadmin这类的工具简单完成,这里只是个例子)

 如果我们需要绑定一个远程ip 202.54.10.20到新建的foo数据库下的bar用户中,在命令行中输入:

 

 代码如下 复制代码

mysql> CREATE DATABASE foo;

mysql> GRANT ALL ON foo.* TO bar@'202.54.10.20' IDENTIFIED BY 'PASSWORD';

 

如何绑定一个已经存在的数据库呢?

 代码如下 复制代码

mysql> update db set Host='202.54.10.20' where Db='webdb';

mysql> update user set Host='202.54.10.20' where user='webadmin';

 

第四步:推出MySQL

输入下面的命令:

 代码如下 复制代码

mysql> quit;

 第五步:打开3306

端口

需要将TCP端口3306开启,使用iptables或者BSD的pf 防火墙

 Linux下iptables的例子

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT

 或者如果你只需要允许特定的服务器,ip为10.5.1.3,可以这样:

 /sbin/iptables -A INPUT -i eth0 -s 10.5.1.3 -p tcp --destination-port 3306 -j ACCEPT

 或者仅仅允许自己子网内的远程连接范围192.168.1.0/24

 /sbin/iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --destination-port 3306 -j ACCEPT

 最后保存所有规则

 # service iptables save

 FreeBSD / OpenBSD pf 的规则( /etc/pf.conf)

 pass in on $ext_if proto tcp from any to any port 3306

 或者允许允许ip:10.5.1.3

pass in on $ext_if proto tcp from 10.5.1.3 to any port 3306  flags S/SA synproxy state

 第六步:测试

 你远程主机上面打开cmd,输入:

mysql -u webadmin –h 65.55.55.2 –p

 在这里

-u webadmin: webadmin 是MySQL服务器的用户

-h IP or 服务器名称: 65.55.55.2 is MySQL 服务器IP地址

-p : 密码

 你同样可以使用telnet来连接到3306端口

 $ telnet 65.55.55.2 3306

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

장치 관리자에 원격으로 연결하고 연결 문제를 해결하려면 어떻게 해야 합니까? 장치 관리자에 원격으로 연결하고 연결 문제를 해결하려면 어떻게 해야 합니까? Apr 27, 2023 pm 03:10 PM

장치 관리자는 Microsoft에서 제공하는 관리 콘솔의 확장으로 정의할 수 있습니다. 이는 사용자에게 컴퓨터에 연결된 하드웨어 장치에 대한 중앙 집중식 및 조직적 보기를 제공합니다. 장치 관리자에 액세스하는 것은 쉽지만 원격 장치 관리자에 어떻게 연결합니까? 원격 장치란 무엇입니까? 원격으로 장치 관리자에 연결하기 전에 원격 장치가 무엇인지 아시나요? 원격 장치는 물리적으로 접근할 수는 없지만 네트워크 링크나 원격 제어 소프트웨어를 사용하여 원격으로 접근할 수 있는 모든 장치로 정의할 수 있습니다. 원격 액세스의 몇 가지 예는 무엇입니까? 다양한 장치에 원격으로 액세스할 수 있습니다. 당신이 개방형 사무실에서 일한다고 가정해 봅시다. 사무실에는 모든 직원이 공유하는 프린터가 있습니다. 책상에서 원격으로 프린터에 액세스할 수 있습니다. 다른 원격 액세스 예로는 원격 액세스 컴퓨팅이 있습니다.

PHP 개발 실습: PHPMailer를 사용하여 MySQL 데이터베이스의 사용자에게 이메일 보내기 PHP 개발 실습: PHPMailer를 사용하여 MySQL 데이터베이스의 사용자에게 이메일 보내기 Aug 05, 2023 pm 06:21 PM

PHP 개발 실습: PHPMailer를 사용하여 MySQL 데이터베이스의 사용자에게 이메일 보내기 소개: 현대 인터넷 구축에서 이메일은 중요한 통신 도구입니다. 전자상거래에서 회원가입, 비밀번호 재설정, 주문확인 등 이메일 발송은 필수적인 기능입니다. 이 기사에서는 PHPMailer를 사용하여 이메일을 보내고 이메일 정보를 MySQL 데이터베이스의 사용자 정보 테이블에 저장하는 방법을 소개합니다. 1. PHPMailer 라이브러리를 설치하십시오. PHPMailer는

PHP를 통해 Modbus TCP 원격 액세스를 구현하는 방법 PHP를 통해 Modbus TCP 원격 액세스를 구현하는 방법 Jul 17, 2023 pm 07:49 PM

PHP를 통해 Modbus TCP 원격 액세스를 구현하는 방법 Modbus는 산업 자동화 분야에서 컨트롤러와 장치 간에 데이터를 교환하는 데 사용되는 통신 프로토콜입니다. ModbusTCP는 이더넷상의 TCP/IP 통신을 기반으로 하는 Modbus 프로토콜입니다. PHP 언어를 사용하면 ModbusTCP에 대한 원격 액세스를 쉽게 구현할 수 있습니다. 이 기사에서는 PHP를 통해 ModbusTCP 원격 액세스를 구현하는 방법을 소개하고 샘플 코드를 제공합니다. 1단계: 설치

Windows 11에서 원격 데스크톱을 비활성화하는 방법 Windows 11에서 원격 데스크톱을 비활성화하는 방법 Apr 14, 2023 pm 03:16 PM

Windows 11에서 원격 데스크톱을 비활성화하는 방법 원격 데스크톱을 사용하면 올바른 사용자 이름과 비밀번호를 가진 사람은 누구나 PC에 액세스할 수 있습니다. 이는 일반적인 공격 전술은 아니지만 발생할 수 있습니다. 사용자가 귀하의 PC에 액세스할 수 있게 되면 악의적인 행위자가 귀하의 파일, 애플리케이션 및 기타 계정 자격 증명에 액세스할 수 있습니다. RDP는 일반적으로 보안 기능이지만 사용하지 않는 경우 비활성화하면 잠재적으로 악의적인 원격 위협으로부터의 공격을 제거하는 데 도움이 될 수 있습니다. 따라서 RDP를 비활성화하는 방법에는 여러 가지가 있으며 그 방법을 알려 드리겠습니다. 원하다

Go 언어와 MySQL 데이터베이스: 핫 데이터와 콜드 데이터를 분리하는 방법은 무엇입니까? Go 언어와 MySQL 데이터베이스: 핫 데이터와 콜드 데이터를 분리하는 방법은 무엇입니까? Jun 18, 2023 am 08:26 AM

데이터의 양이 지속적으로 증가함에 따라 데이터베이스 성능이 점점 더 중요한 문제로 대두되고 있습니다. 핫 데이터와 콜드 데이터 분리 처리는 핫 데이터와 콜드 데이터를 분리하여 시스템 성능과 효율성을 향상시킬 수 있는 효과적인 솔루션입니다. 이 기사에서는 Go 언어와 MySQL 데이터베이스를 사용하여 핫 데이터와 콜드 데이터를 분리하는 방법을 소개합니다. 1. 핫 데이터와 콜드 데이터 분리 처리란 무엇입니까? 핫 데이터와 콜드 데이터 분리 처리는 핫 데이터와 콜드 데이터를 분류하는 방법입니다. 핫 데이터는 액세스 빈도가 높고 성능 요구 사항이 높은 데이터를 말합니다.

시계열 분석을 위해 MySQL 데이터베이스를 사용하는 방법은 무엇입니까? 시계열 분석을 위해 MySQL 데이터베이스를 사용하는 방법은 무엇입니까? Jul 12, 2023 am 08:39 AM

시계열 분석을 위해 MySQL 데이터베이스를 사용하는 방법은 무엇입니까? 시계열 데이터(Time series data)란 시간적 연속성과 상관성을 갖는 시간순으로 배열된 데이터의 집합을 말한다. 시계열 분석은 미래 추세 예측, 순환 변화 발견, 이상값 탐지 등에 사용할 수 있는 중요한 데이터 분석 방법입니다. 이 기사에서는 코드 예제와 함께 시계열 분석을 위해 MySQL 데이터베이스를 사용하는 방법을 소개합니다. 데이터 테이블 생성 먼저 시계열 데이터를 저장할 데이터 테이블을 생성해야 합니다. 숫자를 분석하고 싶다고 가정해 보겠습니다.

Go 언어를 사용하여 MySQL 데이터베이스의 증분 데이터 백업을 수행하는 방법 Go 언어를 사용하여 MySQL 데이터베이스의 증분 데이터 백업을 수행하는 방법 Jun 17, 2023 pm 02:28 PM

데이터 양이 증가함에 따라 데이터베이스 백업이 점점 더 중요해지고 있습니다. MySQL 데이터베이스의 경우 Go 언어를 사용하여 자동 증분 백업을 달성할 수 있습니다. 이 기사에서는 Go 언어를 사용하여 MySQL 데이터베이스 데이터의 증분 백업을 수행하는 방법을 간략하게 소개합니다. 1. Go 언어 환경 설치 먼저 Go 언어 환경을 로컬에 설치해야 합니다. 공식 웹사이트로 이동하여 해당 설치 패키지를 다운로드하고 설치할 수 있습니다. 2. 해당 라이브러리를 설치합니다. Go 언어는 MySQL 데이터베이스에 액세스하기 위한 많은 타사 라이브러리를 제공하며 그 중 가장 일반적으로 사용되는 라이브러리는 다음과 같습니다.

성공적으로 취업하려면 MySQL 데이터베이스 기술을 어느 정도 개발할 수 있습니까? 성공적으로 취업하려면 MySQL 데이터베이스 기술을 어느 정도 개발할 수 있습니까? Sep 12, 2023 pm 06:42 PM

성공적으로 취업하려면 MySQL 데이터베이스 기술을 어느 정도 개발할 수 있습니까? 정보화 시대의 급속한 발전으로 인해 데이터베이스 관리 시스템은 사회 각계각층에서 없어서는 안 될 중요한 구성 요소가 되었습니다. 일반적으로 사용되는 관계형 데이터베이스 관리 시스템인 MySQL은 다양한 응용 분야와 취업 기회를 제공합니다. 그렇다면, 성공적으로 채용되려면 MySQL 데이터베이스 기술을 어느 정도 개발해야 할까요? 우선, MySQL의 기본 원리와 기본 지식을 익히는 것이 가장 기본적인 요구 사항입니다. MySQL은 오픈 소스 관계형 데이터베이스 관리입니다.

See all articles