MySQL在初始化权限表时报duplicated key ‘localhost-’错的原因


类型:LinuxApp,创建时间:Dec. 31, 2011, 5:32 p.m.

标题无“转载”即原创文章,版权所有。转载请注明来源:http://hgoldfish.com/blogs/article/36/。

最近做了一个脚本能够自动将我们在程序以及相应的配置文件、附加库等安装到Linux。平常手动操作的话要半天时间,现在只要十分钟了。而且还大大减少了错误的可能性。这让我十分满意。

可惜这两天碰到一个错误,在脚本安装MySQL的那一步出现了错误。仔细考虑安装MySQL的步骤哪里出错了。首先脚本将从官方网站下载的MySQL解压到/usr/local/project/mysql下。然后根据MySQL安装指南的命令添加mysql用户和组、改变文件的属主以及读写权限,接着运行MySQL的初始化脚本。最后改变data目录的权限。仔细一看,发现只有运行初始化脚本的那个步骤报了错误,其它几个步骤都有达到命令所要求的目的。

初始化脚本的报错信息大概是duplicated key 'localhost-'。之后服务器就没有验证信息,无论使用任何方法都没办法登录(–skip-grant-tables不算)。经过查证,发现这是因为MySQL创建权限表时对于root用户会创建两条记录,一条是root@'localhost',另一条是root@hostname。其中的hostname如果跟localhost重名的话就会报这个错误。

所以这个错误就很好解决了。只要改一下主机名就OK了。。

标题无“转载”即原创文章,版权所有。转载请注明来源:http://hgoldfish.com/blogs/article/36/。


暂时还没有任何评论。


何不来发表一下您对本文的看法(使用Markdown语法,分段空两行):