Navicat for MySQL远程连接报10038的错误
####################################################
- """
- 1、网络检测
- 1)ping主机可以;
- 2)telnet 主机3306端口不可以;
- telnet 主机22端口可以;
- 说明与本机网络没有关系;
- 如果本地端口监听状态 telnet 127.0.0.1 3306 看看是否成功, 如果成功, 则 在远程 telnet 公网ip 3306 来判断一下是否成功, 如果成功说明没有问题, 如果失败,继续往下看
- """
####################################################
- """
- 2、端口检测
- 1)netstat -ntpl |grep 3306
- tcp 0 0 :::3306 :::* LISTEN -
- 2)netstat -ntpl |grep 22
- tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
- 可以看出22端口监听所有地址,而3306只监听本机地址(绑定了到了本地),所以远程无法访问。
- 对于端口只允许本机访问,有两个地方启用,一个是防火墙启用3306,一个就是mysql配置绑定本机地址。
- """
####################################################
- """
- 3、防火墙检测
- 1)iptables --list查看;
- 2)开启防火墙3306端口
- vi /etc/sysconfig/iptables
- -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
- /etc/init.d/iptables restart(重启防火墙使配置生效)
- 3)或者直接关闭防火墙;
- 防火墙的操作,Ubuntu
- 打开3306号端口:sudo ufw allow 3306
- 查看端口状态:sudo ufw status # allow就是开放的。
- 关闭防火墙:sudo ufw disable
- 开启防火墙:sudo ufw enable
- """
###################################################
- """
- 4、mysql配置文件检查
- 检查my.cnf的配置,bind-address=addr可以配置绑定ip地址。
- 不配置或者IP配置为0.0.0.0,表示监听所有客户端连接。
- #ps -aux | grep mysql 查看进程ID是3340
- #ll /proc/3340 查看进程程序情况,找配置文件
- 或者#which mysql 找程序路径
- 执行命令 netstat -an|grep 3306,如果3306前面是127.0.0.1,那么就要修改配置文件了
- 修改配置文件,网上很多就是如下图所示的修改方法,
- vim /etc/mysql/my.cnf
- vim /etc/mysql/mysql.conf.d/mysqld.cnf。发现bind-address = 127.0.0.1。
- """
####################################################
- """
- 5、mysql用户访问权限
- 进入mysql数据库
- $mysql -u root -p
- >use mysql;
- >select host,user from user;
- MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost只能本机访问;
- 其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问
- 登录mysql;
- 执行 use mysql;
- 执行 select user,host from mysql.user;
- 执行 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Ji10201749!';
- 执行 FLUSH PRIVILEGES;
- 重启mysql服务 service mysqld restart;
- """
mysql用户操作
- """
- 1.新建用户。
- //登录MYSQL
- @>mysql -u root -p
- @>密码
- //创建用户
- mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
- //刷新系统权限表
- mysql>flush privileges;
- 这样就创建了一个名为:phplamp 密码为:1234 的用户。
- 然后登录一下。
- mysql>exit;
- @>mysql -u phplamp -p
- @>输入密码
- mysql>登录成功
- 2.为用户授权。
- //登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
- @>mysql -u root -p
- @>密码
- //首先为用户创建一个数据库(phplampDB)
- mysql>create database phplampDB;
- //授权phplamp用户拥有phplamp数据库的所有权限。
- >grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
- //刷新系统权限表
- mysql>flush privileges;
- mysql>其它操作
- 3.删除用户。
- @>mysql -u root -p
- @>密码
- mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
- mysql>flush privileges;
- //删除用户的数据库
- mysql>drop database phplampDB;
- 4.修改指定用户密码。
- @>mysql -u root -p
- @>密码
- mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
- mysql>flush privileges;
- """
####################################################
- """
- mysql是否启动
- 这个比较简单, ps -ef | grep mysql 如果能看到对应的进程就是没有问题的
- """
####################################################
- """
- 添加阿里云安全组规则,我也添加了,
- """
####################################################
- linux 如何查看3306端口号是否打开
- 在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询
- netstat命令各个参数说明如下:
- -t : 指明显示TCP端口
- -u : 指明显示UDP端口
- -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
- -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
- -n : 不进行DNS轮询,显示IP(可以加速操作)
- -a 显示所有状态的socket
- 即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··
- netstat -ntlp //查看当前所有tcp端口·
- netstat -ntulp |grep 80 //查看所有80端口使用情况·
- netstat -an | grep 3306 //查看所有3306端口使用情况·
####################################################
- ps –aux //查看进程号
- ps –aux | more //全部查看
- ps –ef | grep mysql //查看mysql的进程
- kill -9 3306 //强制杀掉进程号3306
####################################################
首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。
注:本操作是在WIN命令提示符下,phpMyAdmin同样适用。
用户:phplamp 用户数据库:phplampDB
1.新建用户。
//登录MYSQL
@>mysql -u root -p
@>密码
//创建用户
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:phplamp 密码为:1234 的用户。
然后登录一下。
mysql>exit;
@>mysql -u phplamp -p
@>输入密码
mysql>登录成功
2.为用户授权。
//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(phplampDB)
mysql>create database phplampDB;
//授权phplamp用户拥有phplamp数据库的所有权限。
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作
3.删除用户。
@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;
4.修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
mysql>flush privileges;
Navicat for MySQL远程连接报10038的错误的更多相关文章
- ECS Navicat for MySQL远程连接报10038的错误
解决问题时,建议先在阿里云设置好数据库访问的白名单,把自己的IP地址填进去 问题现象 Navicat for MySQL访问远程mysql数据库,出现报错,显示“2003- Can't connect ...
- Navicat for mysql远程连接数据库详解(1130错误解决方法)
用Navicat for mysql连接数据库测试下连接 如果出现1130错误 错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to ...
- Navicat for mysql 远程连接 mySql数据库10061、1045错误
原文地址:http://www.111cn.net/database/mysql/46377.htm 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061 ...
- Mysql远程连接报错:SQL Error (1130): Host '192.168.61.128' is not allowed to connect to this MySQL server
Mysql远程连接报错:SQL Error (1130): Host '192.168.0.18' is not allowed to connect to this MySQL server ...
- navicat for MySQL连接本地数据库时报1045错误的解决方法
navicat for MySQL 连接本地数据库出现1045错误 如下图: 说明连接mysql时数据库密码错误,需要修改密码后才可解决问题: 解决步骤如下: 1.首先打开命令行:开始->运行- ...
- Navicat for mysql 远程连接 mySql数据库10061、1045错误问题 (转)
远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)错误时,是 ...
- Navicat for mysql远程连接数据库详(1130错误解决方法)
用Navicat for mysql连接数据库测试下连接 如果出现1130错误错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to ...
- 【转】通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法
错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是无法给远程连接的用 ...
- navicat for mysql远程连接ubuntu服务器的mysql数据库
经常玩服务器上的mysql数据库,但是基于linux操作Mysql多有不便,于是就想着使用GUI工具来远程操作mysql数据库.已经不是三次使用navicat-for-mysql了,但是每次连接远程服 ...
随机推荐
- MySQL数据库的数据类型
1.整数型 2.日期和时间类型 3.字符串类型
- h5-动画基本介绍
1.介绍 *{ ; ; } div{ width: 200px; height: 200px; background-color: #5aff61; /*添加动画效果*/ /*1.animation- ...
- ROS的Target Platforms
问题 今天编译VIORB遇到了以下错误: 查到的资料 ubuntu18安装的二进制ros包需要特定版本的库函数 ros官方文档 文档pdf 参考回答 参考回答pdf
- shell字符串大小写转换
1.typeset 有两个选项 -l 代表小写 -u 代表大写. 用法: typeset -u name name='asdasdas' echo $name typeset -l ame am ...
- NSDictionary和NSMaptable, NSArray,NSSet,NSOrderedSet和NSHashTable的区别
NSSet, NSDictionary, NSArray是Foundation框架关于集合操作的常用类, 和其他标准的集合操作库不同, 他们的实现方法对开发者进行隐藏, 只允许开发者写一些简单的代码, ...
- leetcode算法题121-123 --78 --python版本
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 实例输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能 ...
- Centos7下yum安装软件报错解决办法
Traceback (most recent call last): File "/usr/bin/yum", line 29, in yummain.user_main(sys. ...
- js获取指定日期n天之后的日期
function addDays(date, days,seperator='-') { let oDate = new Date(date).valueOf(); let nDate = oDate ...
- Go-并发和并行-协程-信道-缓冲信道-select-mutex-读写文件-beego框架
并发 Go 是并发式语言,而不是并行式语言.在讨论 Go 如何处理并发之前,我们必须理解何为并发,以及并发与并行的区别. 并发是什么? 并发是指立即处理多个任务的能力.一个CPU的情况下<意指看 ...
- Java学习笔记--精品札记
forech循环增强版(JDK1.7新特性) for(数组单位元素类型 i:遍历目标数组){ 代码块 } char(只能放单个字符)数组可以直接遍历不需要循环,其他数组不可以,必须遍历 toStrin ...