`
jackymin
  • 浏览: 73544 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

mysql远程访问数据库失败的解决方案

阅读更多

用wamp部署服务环境 ,进行php开发,访问远程数据库时,无法连接,报以下错误

533
Could not connect: mysqlnd cannot connect to MySQL 4.1+ using old authentication
出现这个错误的原因是,新环境的php版本比较新只支持41位的密码,而mysql的密码格式还是老的16位。为了加强数据库安全校验,远程连接数据库都必须是41位的,16位密码用数据库工具navicat 等可以操作,但是远程程序远程连接mysql就会失败。解决方案如下:

登录mysql

 

如果有密码的话,登录方式为:

mysql -u root -h 127.0.0.1 -p

 

至于该使用哪个数据库,使用哪个,应该是这样:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| wt                 |
+--------------------+
4 rows in set (0.00 sec)

mysql> use test
Database changed
mysql>


通过执行下面命令看到的密码是16位的。

select user,password from mysql.user;

在mysql4.1后的版本中使用Password函数生成的密码应该就是41位的。

update mysql.user set password=Password( "newpassword" ) where user= "username" ;

这样密码就能变成41位的长密码了,如果特殊需要可以用old_password函数生成16位的。
这里要特别注意的是,在mysql的ini配置文件中需要注释掉这一行。

1 # Default to using old password format for compatibility with mysql 3.x
2 # clients (those using the mysqlclient10 compatibility package).
3

#old_passwords=1

将#号去掉,采用新41位加密,再执行更新语句

update mysql.user set password=Password("newpassword" ) where user= "username" ;

如果有这个配置的话,无论怎么改都会是16位的密码。修改完成后可以再运行查询命令,看下密码长度是否是41位,是说明修改成功。修改完后记得重启

分享到:
评论

相关推荐

    无法远程访问Mysql的解决方案

    无法远程访问Mysql的解决方案 Mysql 是一种关系型数据库管理系统,广泛应用于各种 web 应用程序中。然而,在实际应用中,我们常常会遇到无法远程访问 Mysql 的问题,这是由于 Mysql 的安全机制所致。下面我们将详细...

    NaviCat连接时提示不支持远程连接的MySql数据库解决方法

    - 使用NaviCat连接远程Linux MySQL数据库时遇到10061未知故障的解决方案。 - 通过NaviCat远程连接SQL Server并转换成MySQL的详细步骤。 - 解决NaviCat无法远程连接MySQL的问题。 - MySQL数据库的安装以及与NaviCat ...

    服务器的MySQL不能远程访问的解决方案

    针对上述问题,我们可以采取以下步骤来解决MySQL远程访问问题: ##### 1. 修改MySQL配置文件 - **Windows环境**:找到`my.ini`文件(通常位于安装目录下),在`[mysqld]`部分添加以下行: ```ini [mysqld] skip...

    C#数据库远程访问

    8. **安全性**:在远程访问数据库时,必须考虑安全性问题,包括加密连接、限制权限、使用参数化查询防止SQL注入等。 9. **设计模式**:在实现分布式数据库访问时,可以应用设计模式,如工厂模式(用于创建数据库...

    Mysql数据库远程管理软件

    它的优点包括高性能、高可靠性、易于安装和使用,使其成为许多企业和个人的首选数据库解决方案。 Navicat for MySQL作为一款强大的数据库管理工具,它提供了以下主要功能: 1. **远程连接**:Navicat支持创建、...

    Navicat 8.2.12 For MySQL强大的实用的MySQL数据库管理和开发工具

    Navicat 8.2.12 For MySQL是一款专业且功能强大的MySQL数据库管理和开发工具,专为MySQL数据库设计,提供了一站式的解决方案,使用户能够高效地进行数据库管理、开发和协作。它支持多种操作系统平台,包括Windows、...

    Mysql远程登录的解决方案

    然而,有时在安装MySQL后,我们可能遇到无法从远程计算机访问数据库服务器的问题。本篇文章将详细探讨这个问题及其解决方案。 当你尝试远程登录MySQL并收到错误信息“Host '192.168.1.3' is not allowed to connect...

    解决无法远程登入MySQL数据库的几种方案

    在处理远程访问MySQL的问题时,还需要检查以下几点: 1. 确保MySQL服务正在运行并且配置允许远程连接。 2. 检查服务器上的防火墙设置,确保允许对应端口(默认为3306)的入站流量。 3. 如果使用的是云服务,检查安全...

    最新如何从MQL5MQL4访问MySQL数据库.docx

    ### 最新如何从MQL5/MQL4访问MySQL数据库 #### 一、引言 在金融交易领域,尤其是外汇市场中,MetaTrader平台(包括MetaTrader 4 (MT4) 和 MetaTrader 5 (MT5))是非常流行的交易平台。为了增强交易策略的功能性和...

    MySQL数据库常见问题汇总

    ### MySQL数据库常见问题与解决方案 #### 一、自增字段重置与自增长字段功能实现 **1. 自增字段重置** 在MySQL中,如果你需要重置自增字段(通常用于清理数据后重新开始编号),可以使用以下SQL语句: ```sql ...

    Builder中访问远程数据库的另一种途径

    #### ZEOSDBO:一种新的远程数据库访问解决方案 为了解决上述问题,ZEOSDBO应运而生。ZEOSDBO(Zeos Database Objects)是一套开源数据库控件,专门用于直接访问多种类型的数据库,包括开源数据库(如MySQL、...

    不改权限远程访问MySql服务器

    标题“不改权限远程访问MySQL服务器”涉及到的主要知识点是关于MySQL数据库的安全远程访问。在许多情况下,为了确保数据安全,数据库管理员通常会限制对MySQL服务器的远程访问,但有时我们可能需要在不修改服务器...

    MySql实现远程连接.txt

    #### 一、MySQL远程连接概述 MySQL 是一款非常流行的开源关系型数据库管理系统,广泛应用于各类网站及软件系统中。为了满足不同场景下的需求,MySQL 支持本地连接和远程连接。其中,远程连接允许用户从其他主机访问...

    mysql 的root 用户无法授权及解决navicat 远程授权提示1044问题

    先看解决方案 #------------mysql root 用户无法赋权问题解决 -------- 1,登录 mysql -u root -p 2,use mysql; 选择mysql数据库 3,执行以下操作(查询用户的赋权权限,更改赋权权限 ,刷新生效) mysql> select ...

    数据库远程操作软件

    10. **移动设备支持**:Navicat有移动应用版本,用户可以在iOS或Android设备上远程访问数据库。 11. **版本控制**:集成Git,可以对数据库结构进行版本控制,追踪和回滚更改。 12. **自动化任务**:用户可以设置...

    一键部署mysql数据库

    3. **安全性**: 数据库的安全性至关重要,这包括限制远程访问、设置强密码策略、启用SSL连接以及定期备份。一键部署工具通常会包含初始化安全性设置的步骤。 4. **服务启动与管理**: MySQL服务器需要启动才能使用。...

    MYSQL无法远程连接

    ### MySQL无法远程连接问题解析与解决方案 #### 一、问题背景 MySQL是一种广泛使用的开源关系型数据库管理系统,因其高效稳定而被众多企业和开发者所青睐。然而,在实际部署和使用过程中,有时会遇到无法进行远程...

    Centos7下无法远程连接mysql数据库的原因与解决

    以下将详细介绍这两个问题的原因和解决方案。 首先,让我们讨论数据库没有授权远程访问的情况。MySQL数据库默认情况下只允许本地主机连接。如果尝试从其他机器远程访问,将会被拒绝。为了解决这个问题,可以通过...

    【Linux系统无法访问MySQL数据库怎么办】-sql无法访问数据库-.doc

    检查当前用户是否有足够的权限访问数据库,以及数据库是否允许特定用户或IP地址进行连接。 3. **解决过程** - **登录MySQL**:使用`mysql -uroot -proot mydbName`命令,其中`root`是用户名,`root`是密码,`...

Global site tag (gtag.js) - Google Analytics