`
wwm4851186
  • 浏览: 9059 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MySQL设置远程账户登陆

 
阅读更多

MySQL设置远程账户登陆

 

 

 

1. ERROR 2003 (HY00 1

2. ERROR 1045 (28000): Access denied for user 'test'@'x.x.x.x' (using password: NO) 1

3. 取回ROOT密码并设置远程登录 2

4. RROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 2

5. ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql' 3

6. 设置用户远程主机连接权限 4

7. 设置用户与库的权限 4

 

 ----作者Attilax , 1466519819@qq.com---  

 

为了给MYSQL用户设置一个远程连接权限,经历了很多曲折..特此纪录下来..先是玉到了2003错误

 

 

ERROR 2003 (HY00

 

 

原因是MySQL考虑到安全因素,默认配置只让从本地登录

打开 /etc/mysql/my.cnf 文件,找到 bind-address = 127.0.0.1 修改为 bind-address = 0.0.0.0

重启mysql : sudo /etc/init.d/mysql restart

再次连接,发生错误 1045

 

 

ERROR 1045 (28000): Access denied for user 'test'@'x.x.x.x' (using password: NO)

A: 原因是没有给登录用户名设置远程主机登录的权限。还有种可能是你需要重设下密码....可能是授权操作引起这种后遗症..

在本地用 root 登录: mysql -u root -p

修改 MySQL 数据库中 user 表中 对应用户名的 Host 字段,将 localhost 改为 %

use mysql;

update user set Host = '%' where User = 'username';

给这个设置权限需要ROOT用户登录才行.可惜ROOT密码不记得了.

取回ROOT密码并设置远程登录


mysqld_safe --skip-grant-tables &

mysql -u root mysql

mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';

mysql> FLUSH PRIVILEGES;

 

 

设置 ROOT 远程连接  update user set host = '%'   where user='root';

 

 

 

查看进程,可看到MYSQLD_SAFEMYSQL进程,此时MYSQL可正常使用,不过查看参数,可看到--skip-grant-tab

输入mysqld_safe命令行,要立马输入mysql -u root mysql,不得有误..或者新开一个窗口也可.

 

执行UPDATE时出现1062错误

 

 

 

 

RROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 

 

如果执行update语句时出现ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 错误,说明有多个ROOT用户纪录在USER表中了.

需要select host from user where user = 'root';

查看一下host是否已经有了%这个值,有了就可以了.

 

 

mysql> select host,user from user where user='root';

+-----------------------+------+

| host                  | user |

+-----------------------+------+

| %                     | root |

| 127.0.0.1             | root |

| ::1                   | root |

| localhost.localdomain | root |

 

然后用ROOT用户登录更改用户账户的远程连接权限时.出现提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

 

 

 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

 

是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来,于是解决办法见

 

 

先关闭MYSQL进程..

 

然后

 

   # mysqld_safe --skip-grant-table

   屏幕出现: Starting demo from .....

此时要记得,紧接着输入

   # mysql -u root mysql

   mysql> delete from user where USER='';

   mysql> FLUSH PRIVILEGES; 

 

 

 

 

如果出现  Starting demo from .. ..先输入其它命令,再用mysql -u root mysql .它又会出现这个错误了.

 

 

然后KILLMYSQL进程,..重启正常的进程..

 

 

 

设置用户远程主机连接权限

 

update user set host = '%'  where user='fanzkcom_fanzk'; 

FLUSH PRIVILEGES; 

 

但是在实际连接中,虽然可以连接,但是去没有所在库的权限,.

只好接下来设置权限

 

设置用户与库的权限

grant all privileges on fanzkcom_fanzk.* to fanzkcom_fanzk@'%' identified by '1234';

FLUSH PRIVILEGES; 

 

 

百分号两边要有单引号,否则语法错误

然后连接时,竟然提示1045 错误了.,,想了半天,还是重设下密码试下.

 

 

 

 update mysql.user set password=password('XXX') where User="fanzkcom_fanzk"  

 flush privileges;

 

竟然好了..也不知道为什么设置授权会改动了密码了呢.奇怪..应该是MYSQLBUG

 

 

 

 
分享到:
评论

相关推荐

    MYSQL无法远程连接

    3. **MySQL配置文件限制**:在MySQL的配置文件(如`my.cnf`或`my.ini`)中,可能设置了不允许远程访问的选项。 4. **网络问题**:有时候网络环境不稳定或存在某些限制也会导致远程连接失败。 #### 三、解决方法 ##...

    MYSQL设置远程访问

    这样,你的cPanel账户就能远程访问服务器上的MySQL了。 在完成以上任一步骤后,都需要确保MySQL服务已经重新启动,以应用所做的配置变更。 请注意,放宽MySQL的远程访问权限可能会增加被攻击的风险,因此建议仅对...

    MySQL远程登录权限设置

    ### MySQL远程登录权限设置详解 #### 一、背景与需求 MySQL是一款广泛使用的开源关系型数据库管理系统,它提供了丰富的安全性和灵活性配置选项。在默认情况下,MySQL为了保证系统的安全性,通常会限制用户仅能从...

    mysql开启远程连接权限

    ### MySQL开启远程连接权限 在本篇文章中,我们将详细介绍如何通过命令行的方式,在Windows系统上为MySQL数据库开启远程连接权限。对于需要从不同位置管理数据库的用户来说,这是一个非常实用的功能。下面,我们将...

    Mysql初始化root密码和允许远程访问

    在安装MySQL后,进行初始设置至关重要,尤其是为root用户设置安全密码和允许远程访问,以便于管理和维护数据库。以下将详细介绍这两个关键步骤。 首先,让我们讨论如何初始化MySQL的root密码。在MySQL安装后,默认...

    Mysql远程访问的方法

    ### MySQL远程访问方法及常用知识点 #### 一、配置MySQL以支持远程访问 在实际应用场景中,我们常常需要从远程位置连接到MySQL数据库服务器。为了实现这一目标,我们需要对MySQL进行一系列配置,确保其能够接收...

    mysql开启远程访问权限和被远程访问的方法.docx

    MySQL远程访问权限和被远程访问的方法 在 MySQL 中,开启远程访问权限和被远程访问是非常重要的步骤。本文将详细介绍如何在 MySQL 中开启远程访问权限和被远程访问的方法。 一、使用root账户登录MySQL 首先,我们...

    MySQL开启关闭远程访问

    #### 一、MySQL开启远程访问 **1. 登录本地MySQL** 首先确保你已经安装并启动了MySQL服务。打开命令行工具(如Windows的CMD或Linux的Terminal),输入以下命令登录MySQL: ```sql mysql -u root -p ``` ...

    mysql开启远程访问权限和被远程访问的方法.pdf

    开启MySQL的远程访问权限,首先需要在数据库管理系统中配置相应的用户账户,赋予该账户从任何IP地址访问数据库的权限,并通过适当的认证。接下来,可能需要调整MySQL服务器的配置文件,以允许数据库监听远程连接请求...

    MYSQL不能从远程连接的解决方法

    当遇到MySQL无法进行远程连接的问题时,可以通过修改用户权限设置或者授权特定IP地址的远程访问权限来解决。这些步骤通常涉及到对MySQL系统数据库的修改,因此务必谨慎操作,并确保理解每一步的意义。此外,在进行...

    windows系统备份远程mysql到本地服务器

    在Windows操作系统环境下,为了实现定期自动备份远程MySQL数据库到本地服务器,我们需要遵循一系列步骤和技术。这里,我们主要涉及的是使用`sqldump.exe`工具,这是一个MySQL数据库提供的命令行实用程序,用于生成...

    Linux,mysql同意远程连接教程-mysql5.6同意远程连接.pdf

    1. **MySQL远程连接基础**: MySQL是一种流行的开源关系型数据库管理系统,它允许用户通过网络进行连接和操作数据库。默认情况下,MySQL只允许来自本地主机(localhost)的连接,为了实现远程访问,需要进行特定的...

    MySQL5.0基本操作文档及客户端远程操作MySQL服务器的实现办法

    ### MySQL5.0基本操作文档及客户端远程操作MySQL服务器的实现办法 #### 一、MySQL客户端/服务器的安装启动停止和使用ROOT账号登录MYSQL **1. 安装环境** 适用于Windows Server 2003企业版SP2操作系统,安装MySQL ...

    mysql 远程root权限

    ### MySQL远程root权限详解 在数据库管理中,MySQL作为一款广泛使用的开源关系型数据库系统,其安全性至关重要。本文将深入探讨“MySQL远程root权限”的概念、实现方法以及相关的安全注意事项。 #### 一、理解...

    mysql远程登录解决方法

    ### MySQL远程登录解决方案详解 MySQL作为一种广泛使用的开源关系型数据库管理系统,在企业级应用和个人项目中都扮演着重要的角色。然而,默认情况下,MySQL只允许本地主机(localhost)进行连接,这限制了其在...

    阿里云服务器mysql远程连接设置.zip

    以上就是关于阿里云服务器上MySQL数据库远程连接设置的详细步骤。通过遵循这些步骤,你可以轻松地从任何地方访问和管理阿里云上的MySQL数据库。同时,一定要注意网络安全,确保数据和系统的安全运行。

    远程mysql数据库管理工具

    SQLFront4允许设置用户账户的权限,控制他们对数据库的访问级别,确保数据安全。 7. **表设计**:用户可以直接在SQLFront4中创建新表,设定字段、数据类型和约束,或者修改现有表的结构,提升了数据库设计的效率。 ...

    开启MySQL的远程帐号步骤操作

    除了在MySQL层面授权外,还需确保你的防火墙设置允许远程IP通过端口3306(默认的MySQL端口)访问。 6. **配置my.cnf** 在某些情况下,可能还需要在MySQL的配置文件`my.cnf`(或`my.ini`)中开启远程连接。查找`...

Global site tag (gtag.js) - Google Analytics