首页 > 在linux下面安装MySQL5.6管理帐号安装失败的解决方法

在linux下面安装MySQL5.6管理帐号安装失败的解决方法

为什么80%的码农都做不了架构师?>>>   hot3.png

这不算什么文章,只是为了记录今天下午我无缘无故花费的时间。避免下次浪费同样的时间,我还是把今天遇到的问题和解决方法记录下来吧。

首先,今天的问题可以在mysql bug中找到: http://bugs.mysql.com/bug.php?id=63085 

**************************************************************************************************************************

MySQL安装例子 http://opensourcedbms.com/dbms/installing-mysql-5-6-on-cent-os-6-3-redhat-el6-fedora/ 

conflicts with file from package mysql-libs-5.1.52-1.el6_0.1.x86_64

最新解决方法,更新于2014,4,22

之前的解决方法会使得依赖于mysql-libs的程序无法正常工作。现在oracle提供了新的rpm

MySQL-shared-compat, 安装此包,可以替换掉mysql-libs,并兼容于mysql-server和mysql-client。

rpm -Uvh MySQL-shared-compat-5.6.17-1.el6.x86_64.rpm

**************************************************************************************************************************

MySQL其实并不复杂,但自从某一个版本开始,MySQL的安装变得越来越复杂。不明白他们为什么这么做,是因为被oracle收购的原因么?

我用的是redhat,安装的MySQL版本5.6。安装文件为rpm包。简单说一下正常的MySQL rpm包的安装流程:

  1. redhat一般会自带一个mysql-libs,首先要卸载它,否则安装会冲突。

    如果有yum,可以运行

    >yum list mysql-client
    >yum list mysql-server

    来找出安装的mysql。

    运行

    >yum remove package-name

    来删除mysql的包。

  2. 如果没有yum,可以使用

    >rpm -qal | grep mysql

    列出已经安装的rpm,使用

    >rpm -e package-name

    来删除。

  3. 最后运行命令

    >whereis mysql

    来查看还有没有mysql的目录,使用rm命令删除所有遗留目录。

  4. 使用

    >rpm -ivh mysql-package-name

    来安装Mysql。 一般情况必须装的两个包是mysql-server和mysql-client。 mysql-client提供了mysql和mysqladmin等查询和管理工具。

  5. rpm安装会自动调用mysql_install_db命令,为我们populate数据库用户表。这张表存在数据库mysql中,名字叫user. rpm安装会自动为你创建root用户,并随即产生一个密码,密码存放在/root/.mysql_secret中。

  6. 接下来就是启动mysql server, 可以使用以下几种命令:

    >mysqld -u mysql
    >/etc/init.d/mysql start
  7. 需要使用root来连接数据库,或者使用mysqladmin来管理帐户。然后重设你的密码。并创建其他用户。每个用户会有多种登陆方式,remote, localhost等等。你需要为你的帐户制定各种登陆方式以及相应的密码。

  8. 至此,你的mysql就配置完成了。

接下来说我遇到的问题。这个问题费了我不少时间。

当我做完上面的第4步以后,执行第5步,发现我无论用什么帐户,都无法登陆到mysql中去,使用mysqladmin也必须用root登陆。所以我的root是一个无效存在。/root/.mysql_secret里面的密码倒是存在。这说明,rpm安装过程中,mysql_install_db出现了问题,可能是bug。我卸载了重装,也无法解决问题。于是乎,我只能启动Mysql的安全模式,去查看user表里面到底有没有用户。

  1. 启动mysql安全模式。

    #停止mysql : 
    >/etc/init.d/mysql stop
    #启动安全模式:
    >mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
  2. 连接mysql。以上的模式下,mysql不会检查用户密码。你可以直接运行mysql就能连接。

  3. 查看user表。运行

    mysql>use mysql;
    mysql>select * from user;

    我发现这张表里面没有任何数据。这验证了我之前的想法,用户并没有被populate进来。怎么办?只能自己给它创建一个用户了。 

  4. 创建root用户:

    mysql>INSERT INTO user VALUES('localhost','root',password('root'),'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','Y','Y','Y','','','','','0','0','0','0','','','N');

    分别要注意4个值,第一行的3个,和最后一行的最后一个值。第一行3个分别是用户的方法方式,%代表任意host,也可以使用ip。最后一个值"N",代表你的password是否过期,如果过期,你在登陆的时候你需要重设密码。

  5. 至此,你有了一个root帐号。关闭安全模式,启动正常模式,用root登陆进mysql, 接下来你就回归正常的流程的第7步了。

完毕。



转载于:https://my.oschina.net/xpbug/blog/132479

更多相关:

  • 一.通过Keepalived搭建MySQL双主模式的高可用集群系统1.MySQL Replication介绍:MySQL Replication是MySQL自身提供的一个主从复制功能,其实也就是一台MySQL服务器(称为Slave)从另一台MySQL服务器(称为Master)上复制日志,然后解析日志并应用到自身的过程。MySQL Re...

  • 1、打开https://oneinstack.com/auto/选择Stack:LNMTY → ×安装Nginx → √安装JAVA:Tomcat7.0、JDK1.7 → √安装数据库MySQL5.7、DB密码root、DB安装方式二进制安装 → √Pure-FTPd √redis √memcached ×hhvm √iptables...

  • 注意:由于流程太过于繁杂,且坑多,这里只保留关键步骤,具体小问题百度! ________________________ 先进入CentOS6.8图形化界面(如阿里云没有默认的图形化界面,自己去安装https://blog.csdn.net/fenglixiong123/article/details/71138017) 【步骤...

  • 为了简单省事,我在CentOS 6.3上直接使用yum方法来安装MySQL,安装很顺利,但是我发现root用户登录不了。 下面是参考网上的资料并实操后的笔记整理 yum -y install mysql-server service mysqld start 安装过程中没有任何提示,也不知道root的密码设置的是多少。我打算从...

  • 破解MySQL密码 一、MySQL5.7.5之前 只要有系统root密码就可以破解: [root@host-131 ~]# vim /etc/my.cnf               //在配置文件中加入如下内容 [mysqld] skip-grant-tables[root@host-131 ~]# systemctl resta...

  • rpm 安装rpm包 rpm -ivh xxx.rpm rpm -ivh --nodeps --force xxx.rpm强行安装,不考虑依赖性 rpm --nodeps --force -Uvh *同样强行安装,不考虑依赖性 查看一个文件夹属于那个rpm包 rpm -qf /path/filename 查看文件属于哪个r...

  • 说明如下: (1)所有操作最好使用root操作,以尽可能避免权限问题 (2)crtmpserver和web服务器apache(Ngnix亦可)被装在同一台服务器上,客户端使用其他PC的桌面浏览器和android手机,下面是测试环境示意图: (3)测试环境位于局域网内,由一台路由器接入联通运营商提供的10M包年网络服务 (...

  • 1. free 2. top 3. vmstat 4. slabtop; 5. pmap 6. dmesg 7. /proc/meminfo 8. /proc/sys/vm 目录下的文件 9. sync 10./proc/zoneinfo  11./proc/pagetypeinfo 查看内存工具:1.free free - Dis...

  • 文章目录前言创建二叉树先序遍历中序遍历后序遍历获取叶子节点个数获取树的高度测试代码 前言 现有如下二叉树: 关于二叉树的相关操作,我们能够发现二叉树从根节点到子节点,以及每个中间节点基本都能够拆分为若干个子节点的操作,且每个子节点的操作都和其头节点操作一致。 所以我们针对二叉树的操作都可以使用分治算+回溯/归并算法进行...

  • 今天需要部署一个ceph L 版本12.2.12的环境,无奈最近公司网络无法访问到ceph官网,只能使用之前下载好的ceph-deploy-1.5.39版本,安装上之后一口老血喷了出来,没有mgr的部署选项。 无奈之下只能自己制作一个1.5.38版本的ceph-deploy包,借用从ceph-deploy-1.5.39-0.src....

  • root 权限进入MySQL: mysql –uroot 查看当前MySQL用户: select user,host from mysql.user;     此处以User为root,Host为localhost的账户为例,将密码改为password的命令:   SET PASSWORD FOR 'root'@'localhost...