Centos7下无法远程连接mysql数据库的原因与解决
前言
最近在工作中遇到一个问题,发现在Centos7系统下怎么也不能远程连接mysql,通过查找相关的资料,终于解决了,以下方法就是我在碰到远程连接不到Mysql数据库后试过的方法,最终也是解决掉了问题。所以总结一下分享出来,供同样遇到这个问题的朋友们参考学习,下面话不多说了,来一起看看详细的介绍吧。
有两种原因
- 数据库没有授权
- 服务器防火墙没有开放3306端口
一、数据库没有授权
对于mysql数据库没有授权,只需要用一条命令就可以了。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; //远程连接数据库的时候需要输入用户名和密码 用户名:root 密码:123456 指点ip:%代表所有Ip,此处也可以输入Ip来指定Ip 输入后使修改生效还需要下面的语句 mysql>FLUSH PRIVILEGES;
二、服务器防火墙没有开放3306端口
centos 有两种防火墙 FirewallD和iptables防火墙
centos7 使用的是FirewallD防火墙。
FirewallD 是 iptables 的前端控制器,用于实现持久的网络流量规则。它提供命令行和图形界面,在大多数 Linux 发行版的仓库中都有。与直接控制 iptables 相比,使用 FirewallD 有两个主要区别:
1.FirewallD 使用区域和服务而不是链式规则。
2.它动态管理规则集,允许更新规则而不破坏现有会话和连接。
FirewallD 是 iptables 的一个封装,可以让你更容易地管理 iptables 规则 - 它并不是 iptables 的替代品。虽然 iptables 命令仍可用于 FirewallD,但建议使用 FirewallD 时仅使用 FirewallD 命令。
1.FirewallD防火墙开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
命令含义:
--zone #作用域 --add-port=3306/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效
重启防火墙
systemctl restart firewalld.service
2.iptables 开发3306端口
/sbin/iptables -I INPUT -p tcp -dport 3306 -j ACCEPT /etc/rc.d/init.d/iptables save
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
CentOS7 下安装telnet服务的实现方法
CentOS7 下安装telnet服务的实现方法 今天搞了下 Centos 7 下面升级 openssl 和 openssh ,顺便装了下 telnet # 安装 telnet 避免 ssh 无法登录 yum -y install xinetd telnet telnet-server # 允许 root 账号登陆 vi /etc/securetty # 末尾添加两行 pts/0 pts/1 # 添加防火墙端口 vi /etc/sysconfig/iptables -A INPUT -p tc
-
Centos7使用yum安装Mysql5.7.19的详细步骤
Centos7的yum源中默认是没有mysql,因为现在已经用mariaDB代替mysql了. 首先我们下载mysql的repo源,我们可以去mysql官网找最新的repo源地址 地址: https://dev.mysql.com/downloads/repo/yum/ 开始在linux下下载repo源 //下载mysql rpm包 # wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm //安装my
-
Linux下Centos7安装Mysql5.7.19的详细教程
1.下载mysql 网址: https://dev.mysql.com/downloads/mysql/ 2.选择源码包,通用版点击下载 直接下载就可以了,不用登录 3.解压编译 tar -zxvf mysql-5.7.19.tar.gz cd mysql-5.7.19.tar.gz 创建数据目录 mkdir -p /data/mysql 先用cmake编译,没有这个命令需要先yum安装 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ #这个是编译
-
Centos7学习之添加用户和用户组的方法
在使用 Centos 之前用的更多是Ubuntu,所以在 useradd 和 adduser 两条命令出现歧义,在Ubuntu系统上这是两条命令,而在Centos上则是同一条命令,adduser 是链接的形式存在 # ll /usr/sbin/ | grep user lrwxrwxrwx. 1 root root 7 10月 30 17:09 adduser -> useradd -rwxr-x---. 1 root root 114064 6月 10 09:16 useradd 1.添加用户
-
虚拟机里Centos7的IP地址查看方法
这里之所以是查看下IP ,是我们后面要建一个Centos远程工具Xshell 连接Centos的时候,需要IP地址,所以我们这里先 学会查看虚拟机里的Centos7的IP地址 首先我们登录操作系统 用户名root 密码 123456 然后我们输入ip查询命名 ip addr 发现ens33 没有inet 这个属性,那么就没法通过IP地址连接虚拟机. 接着来查看ens33网卡的配置:vi /etc/sysconfig/network-scripts/ifcfg-ens33 注意vi后面加空格 vi
-
CentOS7服务器中apache、php7以及mysql5.7的安装配置代码
CentOS7服务器中apache.php7以及mysql5.7的配置代码如下所示: yum upgrade yum install net-tools 安装apache 关闭SELinux 编辑器打开 etc/selinux/config 文件,找到 SELINUX=enforcing 字段,将其改成 SELINUX=disabled ,并重启设备. yum -y install httpd mod_ssl 配置防火墙 firewall-cmd --permanent --add-port=8
-
Centos7 移动mysql5.7.19 数据存储位置的操作方法
场景:随着数据量的增加,mysql所在的磁盘已占满,需要将data移动到空间较大的盘上. 方法: 1. 关闭mysql服务 service mysqld stop 2. 将data目录移动到空间较大的盘上 cp -a /usr/local/mysql/data/ /home/mysqldata/ -a :相当于 -pdr 的意思(参数pdr分别为:保留权限,复制软链接本身,递归复制): 3 . 修改配置文件my.cnf ... sql_mode=NO_ENGINE_SUBSTITUTION,ST
-
Centos7下无法远程连接mysql数据库的原因与解决
前言 最近在工作中遇到一个问题,发现在Centos7系统下怎么也不能远程连接mysql,通过查找相关的资料,终于解决了,以下方法就是我在碰到远程连接不到Mysql数据库后试过的方法,最终也是解决掉了问题.所以总结一下分享出来,供同样遇到这个问题的朋友们参考学习,下面话不多说了,来一起看看详细的介绍吧. 有两种原因 数据库没有授权 服务器防火墙没有开放3306端口 一.数据库没有授权 对于mysql数据库没有授权,只需要用一条命令就可以了. mysql>GRANT ALL PRIVILEGES O
-
Linux系统下实现远程连接MySQL数据库的方法教程
前言 最近在工作中遇到了这个需求,估计搞了一个多小时才把这个远程连接搞好.一台本地电脑,一台云服务器,都是linux系统.下面来看看详细的介绍: 步骤 1.在服务器端开启远程访问 首先进入mysql数据库,然后输入下面两个命令: grant all privileges on *.* to 'root'@'%' identified by 'password'; flush privileges; 第一个*是数据库,可以改成允许访问的数据库名称 第二个 是数据库的表名称,代表允许访问任意的表 r
-
Centos7下使用yum安装mysql数据库的详细教程(增强版)
在之前给大家分享过这篇文章:CentOS 7.0下使用yum安装mysql的方法详解,小编觉得不够详细,今天给大家通过本文给大家做个补充,感兴趣的朋友可以参考下. 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mysql-community-re
-
Navicat Premium远程连接MySQL数据库的方法
新建连接的一方相当于是客户端,被连接的相当于是服务端,步骤如下: 1.创建子账户,在Navicat查询界面键入以下授权命令,依次执行 GRANT ALL PRIVILEGES ON test.* to 'root333'@"%" IDENTIFIED by 'abc111' WITH GRANT OPTION; FLUSH PRIVILEGES; all PRIVILEGES意思是所有权限: on后面接的是数据库名.表名 如:test.* 的意思是授予的权限是数据库test下的所有表,
-
python远程连接MySQL数据库
本文实例为大家分享了python远程连接MySQL数据库的具体代码,供大家参考,具体内容如下 连接数据库 这里默认大家都已经配置安装好 MySQL 和 Python 的MySQL 模块,且默认大家的DB内表和访问账号权限均已设置无误,下面直接代码演示: # -*- coding: utf-8 -*- """ Created on Fri Dec 30 10:43:35 2016 @author: zhengyongzhe """ import M
-
Python基于ssh远程连接Mysql数据库操作
目录 背景 安装支持库 连接Mysql 自定义查询函数 背景 如果需要访问远程服务器的Mysql数据库,但是该Mysql数据库为了安全期间,安全措施设置为只允许本地连接(也就是你需要登录到该台服务器才能使用),其他远程连接是不可以直接访问,并且相应的端口也做了修改,那么就需要基于ssh来连接该数据库.这种方式连接数据库与Navicat里面界面化基于ssh连接一样. Navicat 连接数据库 安装支持库 如果要连接Mysql,首先需要安装pymysql pip install pymysql 安
-
IDEA连接mysql数据库报错的解决方法
IDEA连接mysql数据库出现Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually. 报错意思是服务器返回了无效时区.也就是我们的数据库返回了无效的时区. 如图所示: 报错中显示让我们去Advanced下的serverTimezone看看. 那我们就打开Advanced看看 可以看到这里显示的时域为空的,我们填入Asia/Shanghai 搞定.注意这里可
-
IDEA无法连接mysql数据库的6种解决方法大全
本文主要介绍了IDEA无法连接mysql数据库的6种解决方法大全,分享给大家,具体如下: 1.本地的mysql没有创建该数据库(笔者就是这个原因!) 查看数据库发现没有,重建就可以了 测试成功! 网上说法: 2.IP地址不对 https://www.jb51.net/article/200432.htm 3.mysql版本过高 https://bbs.csdn.net/topics/392368070?page=1 4.创建的Java项目的路径里包含中文字符 https://www.jb51.n
-
PHP远程连接MYSQL数据库非常慢的解决方法
不知道如何解决,所以把他空间所在的服务器上也装了个MYSQL,才解决问题,今天又有个这个问题,不能也在这服务器上装一个MYSQL吧,Search: PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在my.ini(WINDOWS系统下)或MY.CNF(UNIX或LINUX系统下)文件的[mysqld]下加入skip-name-resolve这一句,保存. 开始-->运行-->
-
Linux下远程连接MySQL数据库的方法
踩坑笔记 估计搞了一个多小时才把这个远程连接搞好.一台本地电脑,一台云服务器,都是linux系统. 步骤 1.在服务器端开启远程访问 首先进入mysql数据库,然后输入下面两个命令: grant all privileges on *.* to 'root'@'%' identified by 'password'; flush privileges; 第一个*是数据库,可以改成允许访问的数据库名称 第二个 是数据库的表名称,代表允许访问任意的表 root代表远程登录使用的用户名,可以自定义 %
随机推荐
- asp实现过滤关键字的函数
- Pycharm学习教程(2) 代码风格
- 微信小程序 input输入框控件详解及实例(多种示例)
- 登陆后自动注销的解决方法
- 详解Nginx防盗链和Nginx访问控制与Nginx解析php的配置
- Spring Boot如何优化内嵌的Tomcat示例详解
- SpringBoot(十)之邮件服务
- 使用Swift代码实现iOS手势解锁、指纹解锁实例详解
- Python中用Ctrl+C终止多线程程序的问题解决
- asp.net 组件开发中的内嵌资源引用
- android选择视频文件上传到后台服务器
- php bootstrap实现简单登录
- Android获取手机位置的实现代码
- mybatis 插件: 打印 sql 及其执行时间实现方法
- VS2010/MFC编程(常用控件:树形控件Tree Control控件创建h和实例)
- 判断目标是否是window,document,和拥有tagName的Element的代码
- php生成唯一的订单函数分享
- three.js中3D视野的缩放实现代码
- 如何免sudo使用docker命令详解
- ASP.NET 之 MVC框架及搭建教程(推荐)