####################################################

  1. """
  2.  
  3. 1、网络检测
  4. 1)ping主机可以;
  5. 2)telnet 主机3306端口不可以;
  6. telnet 主机22端口可以;
  7. 说明与本机网络没有关系;
  8.  
  9. 如果本地端口监听状态 telnet 127.0.0.1 3306 看看是否成功, 如果成功, 则 在远程 telnet 公网ip 3306 来判断一下是否成功, 如果成功说明没有问题, 如果失败,继续往下看
  10.  
  11. """

####################################################

  1. """
  2.  
  3. 2、端口检测
  4. 1)netstat -ntpl |grep 3306
  5. tcp 0 0 :::3306 :::* LISTEN -
  6. 2)netstat -ntpl |grep 22
  7. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
  8. 可以看出22端口监听所有地址,而3306只监听本机地址(绑定了到了本地),所以远程无法访问。
  9. 对于端口只允许本机访问,有两个地方启用,一个是防火墙启用3306,一个就是mysql配置绑定本机地址。
  10.  
  11. """

####################################################

  1. """
  2.  
  3. 3、防火墙检测
  4. 1)iptables --list查看;
  5. 2)开启防火墙3306端口
  6. vi /etc/sysconfig/iptables
  7. -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
  8. /etc/init.d/iptables restart(重启防火墙使配置生效)
  9. 3)或者直接关闭防火墙;
  10.  
  11. 防火墙的操作,Ubuntu
  12. 打开3306号端口:sudo ufw allow 3306
  13. 查看端口状态:sudo ufw status # allow就是开放的。
  14. 关闭防火墙:sudo ufw disable
  15. 开启防火墙:sudo ufw enable
  16.  
  17. """

###################################################

  1. """
  2.  
  3. 4、mysql配置文件检查
  4. 检查my.cnf的配置,bind-address=addr可以配置绑定ip地址。
  5. 不配置或者IP配置为0.0.0.0,表示监听所有客户端连接。
  6. #ps -aux | grep mysql 查看进程ID是3340
  7. #ll /proc/3340 查看进程程序情况,找配置文件
  8. 或者#which mysql 找程序路径
  9. 执行命令 netstat -an|grep 3306​,如果3306前面是127.0.0.1,那么就要修改配置文件了
  10.  
  11. 修改配置文件,网上很多就是如下图所示的修改方法,
  12. vim /etc/mysql/my.cnf
  13. vim /etc/mysql/mysql.conf.d/mysqld.cnf。发现bind-address = 127.0.0.1。
  14.  
  15. """

####################################################

  1. """
  2. 5、mysql用户访问权限
  3. 进入mysql数据库
  4. $mysql -u root -p
  5. >use mysql;
  6. >select host,user from user;
  7. MySQL建用户的时候会指定一个host,默认是127.0.0.1/localhost只能本机访问;
  8. 其它机器用这个用户帐号访问会提示没有权限,host改为%,表示允许所有机器访问
  9.  
  10. 登录mysql;
  11. 执行 use mysql;
  12. 执行 select user,host from mysql.user;
  13. 执行 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Ji10201749!';
  14. 执行 FLUSH PRIVILEGES;
  15. 重启mysql服务 service mysqld restart;
  16. """

mysql用户操作

  1. """
  2.  
  3. 1.新建用户。
  4.  
  5. //登录MYSQL
  6. @>mysql -u root -p
  7. @>密码
  8. //创建用户
  9. mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
  10. //刷新系统权限表
  11. mysql>flush privileges;
  12. 这样就创建了一个名为:phplamp 密码为:1234 的用户。
  13.  
  14. 然后登录一下。
  15.  
  16. mysql>exit;
  17. @>mysql -u phplamp -p
  18. @>输入密码
  19. mysql>登录成功
  20.  
  21. 2.为用户授权。
  22.  
  23. //登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
  24. @>mysql -u root -p
  25. @>密码
  26. //首先为用户创建一个数据库(phplampDB)
  27. mysql>create database phplampDB;
  28. //授权phplamp用户拥有phplamp数据库的所有权限。
  29. >grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
  30. //刷新系统权限表
  31. mysql>flush privileges;
  32. mysql>其它操作
  33.  
  34. 3.删除用户。
  35. @>mysql -u root -p
  36. @>密码
  37. mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
  38. mysql>flush privileges;
  39. //删除用户的数据库
  40. mysql>drop database phplampDB;
  41.  
  42. 4.修改指定用户密码。
  43. @>mysql -u root -p
  44. @>密码
  45. mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
  46. mysql>flush privileges;
  47. """

####################################################

  1. """
  2.  
  3. mysql是否启动
  4. 这个比较简单, ps -ef | grep mysql 如果能看到对应的进程就是没有问题的
  5.  
  6. """

####################################################

  1. """
  2. 添加阿里云安全组规则,我也添加了,
  3.  
  4. """

####################################################

  1. linux 如何查看3306端口号是否打开
  2. Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询
  3. netstat命令各个参数说明如下:
  4.   -t : 指明显示TCP端口
  5.   -u : 指明显示UDP端口
  6.   -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
  7.  
  8.   -p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
  9.   -n : 不进行DNS轮询,显示IP(可以加速操作)
  10.   -a 显示所有状态的socket
  11.  
  12. 即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··
  13. netstat -ntlp //查看当前所有tcp端口·
  14. netstat -ntulp |grep 80 //查看所有80端口使用情况·
  15. netstat -an | grep 3306 //查看所有3306端口使用情况·

####################################################

  1. ps aux //查看进程号
  2. ps aux | more //全部查看
  3. ps ef | grep mysql //查看mysql的进程
  4. 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的错误的更多相关文章

  1. ECS Navicat for MySQL远程连接报10038的错误

    解决问题时,建议先在阿里云设置好数据库访问的白名单,把自己的IP地址填进去 问题现象 Navicat for MySQL访问远程mysql数据库,出现报错,显示“2003- Can't connect ...

  2. Navicat for mysql远程连接数据库详解(1130错误解决方法)

    用Navicat for mysql连接数据库测试下连接 如果出现1130错误 错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to ...

  3. Navicat for mysql 远程连接 mySql数据库10061、1045错误

    原文地址:http://www.111cn.net/database/mysql/46377.htm 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061 ...

  4. 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     ...

  5. navicat for MySQL连接本地数据库时报1045错误的解决方法

    navicat for MySQL 连接本地数据库出现1045错误 如下图: 说明连接mysql时数据库密码错误,需要修改密码后才可解决问题: 解决步骤如下: 1.首先打开命令行:开始->运行- ...

  6. Navicat for mysql 远程连接 mySql数据库10061、1045错误问题 (转)

    远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)错误时,是 ...

  7. Navicat for mysql远程连接数据库详(1130错误解决方法)

    用Navicat for mysql连接数据库测试下连接 如果出现1130错误错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to ...

  8. 【转】通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法

    错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是无法给远程连接的用 ...

  9. navicat for mysql远程连接ubuntu服务器的mysql数据库

    经常玩服务器上的mysql数据库,但是基于linux操作Mysql多有不便,于是就想着使用GUI工具来远程操作mysql数据库.已经不是三次使用navicat-for-mysql了,但是每次连接远程服 ...

随机推荐

  1. MySQL数据库的数据类型

    1.整数型 2.日期和时间类型 3.字符串类型

  2. h5-动画基本介绍

    1.介绍 *{ ; ; } div{ width: 200px; height: 200px; background-color: #5aff61; /*添加动画效果*/ /*1.animation- ...

  3. ROS的Target Platforms

    问题 今天编译VIORB遇到了以下错误: 查到的资料 ubuntu18安装的二进制ros包需要特定版本的库函数 ros官方文档 文档pdf 参考回答 参考回答pdf

  4. shell字符串大小写转换

    1.typeset  有两个选项 -l 代表小写 -u 代表大写. 用法: typeset -u name name='asdasdas' echo $name   typeset -l ame am ...

  5. NSDictionary和NSMaptable, NSArray,NSSet,NSOrderedSet和NSHashTable的区别

    NSSet, NSDictionary, NSArray是Foundation框架关于集合操作的常用类, 和其他标准的集合操作库不同, 他们的实现方法对开发者进行隐藏, 只允许开发者写一些简单的代码, ...

  6. leetcode算法题121-123 --78 --python版本

    给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序. 实例输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能 ...

  7. Centos7下yum安装软件报错解决办法

    Traceback (most recent call last): File "/usr/bin/yum", line 29, in yummain.user_main(sys. ...

  8. js获取指定日期n天之后的日期

    function addDays(date, days,seperator='-') { let oDate = new Date(date).valueOf(); let nDate = oDate ...

  9. Go-并发和并行-协程-信道-缓冲信道-select-mutex-读写文件-beego框架

    并发 Go 是并发式语言,而不是并行式语言.在讨论 Go 如何处理并发之前,我们必须理解何为并发,以及并发与并行的区别. 并发是什么? 并发是指立即处理多个任务的能力.一个CPU的情况下<意指看 ...

  10. Java学习笔记--精品札记

    forech循环增强版(JDK1.7新特性) for(数组单位元素类型 i:遍历目标数组){ 代码块 } char(只能放单个字符)数组可以直接遍历不需要循环,其他数组不可以,必须遍历 toStrin ...