今天测试Linux 各个软件源 ,发现mysql 配置官方源之后,yum install -y mysql 安装了 mysql lastst 最新版, 安装完之后,奇葩的是没有提示输入密码,
所以 mysql 可以进入 提示输入密码,没有密码, 再经过几个折腾,包括什么跳过密码验证等等方法试过之后还是不行,发现直接查日志最为方便,
翻遍各种配置文件,改来该去
/etc/my.cnf mysql主配置文件 // 在这个配置文件结尾加上 skip-grant-tables 可以跳过密码验证 /var/lib/mysql 数据库文件存放位置 /var/log mysql 数据库的日志输出存放位置
查看文档之后发现,mysql 在初次启动之后,会生成一个随机初始密码, 可以从日志中 筛选 到 , cat var/log/mysqld.log |grep password 就可以查询到当时的密码, 如图所示
这个初始密码第一次登陆是必须要修改的,所以使用这个密码登录之后,改为自己设置的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
新密码设置的时候如果设置的过于简单会报错,所以必须设置得复杂一些。
另外 在我之前安装了 mysql8.0以上的版本,然后卸载了全部依赖, 重新装了mysql5.7 之后,启动失败:
查看状态发现失败,
搜日志吧: cat vim/var/
好像说有个东西在, 之前应该是装过8.0 导致的,
最后发现是/var/lib/mysql /这个目标路径已经存在/var/lib/mysql 后面的mysql 写入到的跟之前的mysql 块地址不一样,导致冲突 ,是磁盘区块导致的,
说白了就是有的之前的mysql 和现在的mysql虽然名字一样,但是不是一个东西,所以冲突了,导致运行的mysqld 的时候无法初始化,
删除/var/lib/mysql /后重启MySQL服务 。
KO!