centos5安装 mysql 提示需要用户及密码进入?Duplicate entry 'localhost-' for key 1

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
     有朋友在centos 5 上安装mysql 一切正常,也能正常启动。就是无法进入mysql 
     提示
Duplicate entry 'localhost-' for key 1 
需要用户名及密码,可是新安装的mysql是没有密码的,这是为什么?
今天帮朋友试验了一把解决了这个问题:

导致这个错误的原因:
因为安装系统时设置了hostname为localhost导致mysql在创建表的时候没有创建成功。因此mysql库中user表里没有root这个用户或者说root没有显示出来,无法查看root的状态。这时需要手动创建。然而在安全模式无法直接创建用户,错误见下。
变个方向就能创建了,先给root给予权限,然后刷新表。之后就可以创建了。
具体步骤见下。有朋友遇到此问题可以依此解决。

一、killall -TERM mysqld 
以安全模式启动mysql
 /usr/bin/mysqld_safe --skip-grant-tables & 
进入mysql
/usr/bin/mysql
mysql> use mysql
Database changed
mysql> select * from user where user='root';
Empty set (0.00 sec)

mysql> grant all privileges on *.* to root@localhost identified by 'linuxtone' with GRANT OPTION;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute 

this statement
mysql> update user set password=password('linuxtone') where user='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0  Changed: 0  Warnings: 0

 注意单双引号。

mysql> flush privileges;   //注意先刷新下表
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on *.* to root@localhost identified by 'linuxtone' with GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select * from user where user='root';
+-----------+------+-------------------------------------------+-------------+-------------+-------------

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

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

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

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

--------+---------------+-------------+-----------------+----------------------+
| Host      | User | Password                                  | Select_priv | Insert_priv | Update_priv | 

Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | 

Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv 

| Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv 

| Create_routine_priv | Alter_routine_priv | Create_user_priv | ssl_type | ssl_cipher | x509_issuer | 

x509_subject | max_questions | max_updates | max_connections | max_user_connections |
+-----------+------+-------------------------------------------+-------------+-------------+-------------

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

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

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

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

--------+---------------+-------------+-----------------+----------------------+
| localhost | root | *4F9DA9DB95483BFD192C7BF3DB0402555E89360D | Y           | Y           | Y           | 

Y           | Y           | Y         | Y           | Y             | Y            | Y         | Y         

 | Y               | Y          | Y          | Y            | Y          | Y                     | Y       

         | Y            | Y               | Y                | Y                | Y              | Y       

            | Y                  | Y                |          |            |             |              | 

            0 |           0 |               0 |                    0 | 
+-----------+------+-------------------------------------------+-------------+-------------+-------------

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

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

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

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

--------+---------------+-------------+-----------------+----------------------+
1 row in set (0.00 sec)


后期处理:
/usr/local/mysql/bin/mysqladmin shutdown -uroot -p
刚才的密码
然后正常启动:/usr/bin/mysqld_safe & 
/usr/local/mysql/bin/mysql -uroot -p 
能正常登录!

官方文档
[url]http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html[/url]

总结:我这叫总结么?我不知道为啥能成,不过大体就是root无法对库进行操作。select就能查出来。
然后在安全模式下无法授权,那只能升级下密码了。这时注意下刷新表。
然后再给root用户授权。这样就哦了。

有空的哥们也多研究下。

今早哥们netseek 解决了这个问题:
[url]http://www.linuxtone.org/redirect.php?tid=1142&goto=lastpost#lastpost[/url]

最终解决办法::
Duplicate entry 'localhost-' for key 1 问题,很可能是你的主机名有问题,比如是localhost?
导致mysql 的root 帐号的三个主机值(分别是%、localhost、主机名)的后二者的名字弄成一样了,导使唯一键值出现重复而禁用该记录了?
朋友的主机名设置成了:localhost 遭成了Duplicate entry 'localhost-' for key 1 

设置好正确的主机名仍后重新编译就可以了,朋友安装系统的时候没有注意主机名



本文转自守住每一天51CTO博客,原文链接:http://blog.51cto.com/liuyu/111447,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
SQL 存储 关系型数据库
MySQL Cluster集群安装及使用
MySQL Cluster集群安装及使用
|
7天前
|
关系型数据库 MySQL 数据库
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
30 4
|
1天前
|
关系型数据库 MySQL 数据安全/隐私保护
安装mysql和远程连接
安装mysql和远程连接
8 0
|
1天前
|
关系型数据库 MySQL Java
Linux 安装 JDK、MySQL、Tomcat(图文并茂)
Linux 安装 JDK、MySQL、Tomcat(图文并茂)
12 2
|
3天前
|
Linux
centos 6.5安装yum
centos 6.5安装yum
22 0
|
3天前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置PXE服务
PXE是Intel开发的预启动执行环境,允许工作站通过网络从远程服务器启动操作系统。它依赖DHCP分配IP,DNS服务分配主机名,TFTP提供引导程序,HTTP/FTP/NFS提供安装源。要部署PXE服务器,需关闭selinux和防火墙,安装dhcpd、httpd、tftp、xinetd及相关服务,配置引导文件和Centos7安装源。最后,通过syslinux安装引导文件,并创建pxelinux.cfg/default配置文件来定义启动参数。
15 0
|
3天前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置postfix服务
安装CentOS7的Postfix和Dovecot,配置Postfix的`main.cf`文件,包括修改完全域名、允许所有IP、启用邮箱等。然后,配置Dovecot的多个配置文件以启用auth服务和调整相关设置。重启Postfix和Dovecot,设置开机自启,并关闭防火墙进行测试。最后,创建邮箱账户并在Windows邮箱客户端中添加账户设置。
10 0
|
3天前
|
关系型数据库 MySQL Windows
windows安装MySQL5.7教程
windows安装MySQL5.7教程
13 0
|
3天前
|
Linux 网络安全
Centos6.5安装并配置NFS服务
该内容描述了在Linux系统中设置NFS服务的步骤。首先挂载yum源,然后安装NFS服务,并编辑配置文件。接着,重启rpcbind和NFS服务,可能需要重复此过程以解决初始可能出现的问题。此外,关闭防火墙策略,并再次重启服务。最终,根目录被共享,特定IP网段被允许访问。
10 0
|
3天前
|
Linux 数据安全/隐私保护
Centos6.5管理与ROOT密码重置
本文介绍了如何在CentOS 6.5中使用Xshell等工具进行远程管理,并详细阐述了当忘记ROOT密码时的重置步骤。通过开机按ESC进入启动菜单,选择编辑模式(按e键),在quiet后添加simple或1,回车,然后按b键进入单用户模式。在该模式下,使用`passwd root`命令设置新密码,重启系统(reboot)后,新密码生效。
30 0