mysql业务数据库连接失败(mysql业务数据库连接失败怎么回事)

  • 1、mysql5.7.12报错如下情况导致无法连接数据库应该怎么办?
  • 2、连接mysql数据库失败怎么办
  • 3、无法连接远程MySQL数据库哪,如何解决
  • 4、为什么连接mysql数据库失败呢?

一、mysqld 进程没有正常运行遇到这种情况首先到服务器上看看 mysqld 进程是否活着,采用的命令:

二、客户端不能和进程 mysqld 通信如果 MySQL 服务器上的 mysqld 进程运行正常,我们再看看客户端能不能和 mysqld 进行通信,使用下面的命令进行网络连通的测试:telnet localhost 3306

如果本地能通,再到客户端的机器上把 localhost 换成 MySQL 服务器的 ip 地址进行测试。如果不能通,通常有两种原因,一种原因是 OS 或网络的问题,或者是防火墙;另一种原因是 mysqld 自身根本没有侦听客户端的连接请求, mysqld 启动后对于客户端的侦听是分三种情况。

第一种情况

是使用参数 –skip-networking 跳过侦听客户端的网络连接,用下面的命令我们可以看到 MySQL 根本没有侦听 3306 端口。

第二种情况

使用参数 –bind-address 后面增加对客户端访问 IP 地址的限制,例如只侦听本地的连接

三、账户密码的问题最后一种情况是账户密码的问题,应付这种情况我们有个有力的工具就是查看 MySQL 的 error log, error log 记载信息的详细程度上由参数 –log-error-verbosity 进行控制的

1 mysql 错误 ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’

解决办法:关闭防火墙,linux下命令

[root@etl01 bin]# chkconfig –list | grep -i iptables ====check fire wall

iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off

[root@etl01 bin]# /sbin/service iptables stop ====stop fire wall

Flushing firewall rules: [ OK ]

Setting chains to policy ACCEPT: nat filter [ OK ]

Unloading iptables modules: [ OK ]

2 报错:1130-host … is not allowed to connect to this MySql server

解决办法:

授权形式

比如账户为root,密码为root

use mysql;

用root账户从任何主机上访问mysql数据库了

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;

如果你想允许用户zz从ip为192.168.1.3的主机连接到mysql服务器,并使用123456作为密码

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.1.3’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

一、连接远程数据库:

1、显示密码

如:MySQL

连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456”

C:/mysql -h

192.168.5.116 -P 3306 -u root -p123456

2、隐藏密码

如:MySQL 连接本地数据库,用户名为“root”,

C:/mysql -h

localhost -u root -p

Enter password:

二、配置mysql允许远程链接

默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。

一、改表法

在localhost登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host”

项,将”localhost”改称”%”

例如:

#mysql -u root

-p

Enter password:

……

mysql

mysqlupdate user

set host = ‘%’ where user = ‘root’;

mysqlselect host,

user from user;

二、授权法

例如:

你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。

mysqlGRANT ALL

PRIVILEGES ON *.* TO ‘myuser’@’%’IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

mysqlGRANT ALL

PRIVILEGES ON *.* TO ‘myuser’@’192.168.1.3’IDENTIFIED BY

‘mypassword’ WITH GRANT OPTION;

mysqlFLUSH

PRIVILEGES

使修改生效,就可以了

常见问题:

1、在采用法二授权法之后,无法在本地登录mysql(如:#mysql -u root -p -h

192.168.5.116

Enter password:

ERROR 1045 (28000): Access denied for user

‘root’@’loadb116’ (using password: YES)

上例中loadb116是主机名.

解决方法:

1、这时可以使用:mysql -u

root -p 登录,进入到mysql后。

mysql grant all privileges on *.* to ‘root’@’loadb116’

identified by ‘123456’ with grant option;

Query OK, 0 rows affected

(0.00 sec)

mysql flush

privileges;

Query OK, 0 rows affected (0.00

sec)

2、在本地使用ip地址登录

#

mysql -u root -p -h

192.168.5.116

Enter password:

Welcome to the MySQL

monitor. Commands end with ; or /g.

Your MySQL connection id is 60

Server

version: 5.1.45 MySQL Community Server (GPL)

Type ‘help;’ or ‘/h’ for

help. Type ‘/c’ to clear the buffer.

mysql

在更新到 4.1.7 版本的 MySQL 后,发现需要使用 MySQLi 扩展方能正常使用数据库,否则会出现 1251 – Client does not support authentication protocol requested by server; consider upgrading MySQL client 的提示,这个很纳闷,我没有研究具体的问题,只是切换到 MySQLi 扩展,其实在给 root 加上密码前还是可以使用 MySQL 扩展的,可是给 root 加上密码后就出现了上述客户端版本太低的提示。目前已知解决方法:先用root登录MYSQL服务器,执行原因是因为你使用的mysql服务器版本中使用了新的密码验证机制,这需要客户端的版本要在4.0以上,原来的密码函数被改为old_password();,这样使用password()生成的密码在旧的版本上的客户端就不好使了,而PHP中的MYSQL客户端都是3.23的(当然,mysqli的扩展除外),问题就在这了。

原创文章,作者:GJHJP,如若转载,请注明出处:https://www.506064.com/n/126924.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
GJHJP的头像GJHJP
上一篇 2024-10-03 23:13
下一篇 2024-10-03 23:13

相关推荐

  • Python字符串替换函数replace的用法

    一、replace函数介绍 Python字符串提供了非常多的方法来操作字符串,其中之一就是replace函数。replace函数可以在字符串中替换指定子串为另一个子串。它的语法如下…

    编程 2024-10-04
  • 从多个角度详解Spring Boot异步编程

    一、为什么需要异步编程 在Web应用中,大量的业务逻辑需要在请求响应过程中完成。如果每个请求都是同步执行的话,那么每个请求的响应时间都很难控制,需要等待上一个请求执行完毕后再执行下…

    编程 2024-11-19
  • 如何在Mac上安装Windows

    一、Boot Camp安装Windows Boot Camp是一种由苹果公司提供的让Mac电脑可以安装Windows双系统的工具,它所安装的Windows支持在Mac操作系统和Wi…

    编程 2024-10-04
  • 3d墙体材质怎么调,3dmax墙体材质怎么调

    本文目录一览: 1、3D MAX  不锈钢材质怎么调 2、3dmax乳胶漆材质怎么调 3、3D MAX 白色烤漆材质怎么调参数? 4、3d宣图中大理石的材质参数怎么调? 3D MA…

    编程 2024-11-14
  • c语言编程视频,c语言编程视频教学

    本文目录一览: 1、在那可以找到教c语言编程的视频? 2、求谭浩强c语言程序设计视频教程打包下载 3、求一套C语言编程的视频教程 4、求C语言编程全套视频教程!有的说下! 5、c语…

    编程 2024-11-30
  • 公益php培(php培训是什么意思)

    本文目录一览: 1、燕十八-PHP公益培训-YY直播-096-MySQL数学函数与字符串函数.wmv种子下载地址有么?好人一生平安 2、丽江北大青鸟PHP开发培训学校一般多少钱? …

    编程 2024-10-03
  • c语言复制图片,c语言复制粘贴

    本文目录一览: 1、c语言中用fopen打开一张JPG格式的图片,名为p.jpg,把该图片复制为new_photo.jpg?求大神写出完整代码 2、C语言如何输入特殊图案?为什么我…

    编程 2024-12-05
  • Python 程序:寻找元组中最大和最小项

    编写一个 Python 程序来查找元组中最大和最小的项。这里,我们使用元组最大和最小函数来返回最大和最小的元组项。 # Tuple Largest and Smallest Ite…

    编程 2024-10-03
  • 如何通过adb向安卓设备输入文本?

    一、安装ADB Android Debug Bridge(ADB)是一款可以在计算机和安卓设备之间建立通信的工具。在使用ADB之前,需要在计算机上安装ADB。我们可以在官网下载An…

    编程 2024-10-29
  • 用Python自加一

    一、Python列表加一个数 在Python中,我们可以通过给列表添加一个新元素来实现列表加一个数。首先,我们需要定义一个列表: a = [1, 2, 3, 4, 5] 接着,我们…

    编程 2024-12-03

发表回复

登录后才能评论