最近在centos6.5下安装MySQL遇到一些问题,在这与大家分享下。
我想把一个.sql文件导入到MySQL下,文件本身没有错误(.sql文件已经成功导入过朋友的MySQL),但是导入我的MySQL的时候就会报错,后来想到是版本的问题,我的MySQL是5.1版本的,朋友的是5.6版本的。
之后我就在网上找了一个安装最新版MySQL的教程,CentOS 6.5/6.6 安装mysql 5.7 最完整版教程(https://segmentfault.com/a/1190000003049498),按照这个教程,安装过程没有出现任何问题,但是后来启动mysql 报错:Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)。
然后我就在网上找了一些解决办法,但是对我来说都没用,我在虚拟机上按照教程又装了一次,成功了,然后我就把这两个机子里面的/var/lib/mysql/文件夹对比,发现差别很大,我就卸载重装,这次我把/var/lib/mysql/这个文件夹也删了,之前装的时候没用动过这个文件夹,这次就成功了,原来是卸载MySQL不彻底导致新的版本安装失败。
MySQL5.7很蛋疼,自带个密码,我一开始没找到,参考这篇文章(http://blog.youkuaiyun.com/erlib/article/details/48003681)进入了MySQL,就是修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables,我的MySQL没有/root/.mysql_secret文件。然后进去后进行任何操作前都要修改密码,当我修改密码的时候,它又报错your password does not satisfy the current policy requirements。这个超级蛋疼,我查了好久没有找到解决方法,网上的各种方法我都试了。
最后我参考http://www.linuxidc.com/Linux/2015-08/121669.htm安装了MySQL5.6版本,所有问题得到解决。
这张图是MySQL5.7初始密码的位置/var/log/mysqld.log