Mysql之rpm安装5.7版本遇见的问题
前言:环境是centos7.5的系统,用rpm方式安装mysql5.7
1、由于是centos7.5 所以需要将默认的mariadb给卸载
rpm -qa | grep mariadb 查看下是否有mariadb包(没有的话略过)
rpm -e --nodeps 上一步显示的包名逐一删除(上述的包存在依赖关系直接用--nodeps 强制删除)
2、将下载的rpm包解压(例如下),别忘了解压的目录在哪

3、用rpm -ivh 来一次安装解压的包
rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm --(依赖于common)
rpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpm --(依赖于libs)
rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm --(依赖于client、common)
rpm -ivh mysql-community-devel-5.7.24-1.el7.x86_64.rpm --(一些库和文件)
4、我在这里多了一步操作将/etc/my.cnf 备份下然后将已经修改好的my.cnf 复制到/etc下(可忽略,根据自己情况而定)
默认生成的配置文件

修改后的配置文件

从上面修改后的my.cnf可看出 log位置 发生变化 该修改创建目录的创建mkdir(别忘了给目录mysql的所属用户和组)
5、到此基本就安装完成启动即可
systemctl start mysqld.service
6、mysql -uroot -p 登录 这里还没有设置秘密直接敲回车正常情况是可以直接进入的,然后就可以修改密码了
update mysql.user set authentication_string=password('') where user='root' and Host = 'localhost'; #centos7后没有了password表,使用的是authentication_string
mysqladmin -uroot password "密码" #在没有进mysql中前修改密码方法
set password=passeword(“新密码”) #为密码用户修改密码
正常情况msyql就安装结束了,但是生活不会这么轻易放过你的,接下来问题就出现了。。。。
1、首先mysql -uroot -p 登录报错(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES))

解决方法:在my.cnf配置文件中[mysqld]后加 skip-grant-tables (跳过权限检查)
重启mysql服务重新登录后按上述方法可重新设置密码
最后别忘了把添加的那一行给注释了
2、本以为这样就结束了,但是生活仍然会继续摧残你 ;使用语句修改密码提示(ERROR 1819 (HY000): Your password does not satisfy the current policy requirements)密码策略异常信息,由于公司所有mysql密码都一样没法更换
解决方法:查看初始密码策略 SHOW VARIABLES LIKE 'validate_password%';
设置密码验证强度等级 set global validate_password_policy=LOW;
默认长度为8也可设置 set global validate_password_length=6;
3、一切都正常了,我需要给普通用户的加权限
grant all on *.* to '用户'@'允许访问的ip地址' identified by '密码';
问题又来了。。。。ERROR 1290(HY000):The MySQL server is running with the --skip-grant-tables option so it cannot execute this staatement
解决方法:这个报错可能是由于上面设置--skip-grant-tables后忘记删除了,所以回去检查了一遍发现已经注释了,但是没有重启,现在又不方便重启
使用 flush privileges;刷新下授权即可
其它的一些报错常规处理
1、缺少sock,如图

解决方法:显然是sock文件没有找到;首先查看msyql的进程有没有正常启动,这个报错90%进程就没起来。查看配置文件里写的这个路径是否正确,实际的路径下有没有mysql这个目录,这个目录是否有权限属主(注意有时候自动生成的mysql是mysqld目录)
2、
libaio.so.(LIBAIO_0.)(64bit) 被 mysql-community-server-5.7.-.el7.x86_64需要
find -name libaio* 如果有 yum -y remove libaio* 卸载重新安装
这是在安装过程中去缺少依赖,这里我直接用yum -y install libaio 安装的
3、

根据提示,分别使用systemctl status mysqld.service和journalctl -xe查看服务启动失败的原因(并没有啥卵用)
打开报警日志

提示不能创建pid,查看目录是否存在,属主属组是否是mysql,重启
4、
ERROR (HY000): You must reset your password using ALTER USER statement before executing this statement.
进入mysql后 不管输入什么命令都报这个错误;查资料说参数是default_password_lifetime字段控制的
解决方法:
alter user user() identified by ""; #修改密码就可以了
具体原因看下这个作者写的 https://blog.csdn.net/hj7jay/article/details/65626766
一键部署小脚本仅供参考
#!/bin/bash set -x #命令打印到屏幕
systemctl stop mariadb #卸载mariadb
temp_rpm=$(rpm -qa | grep -E "mariadb|mysql")
for item in $temp_rpm
do
rpm -e $item --nodeps
done cd ../mysql rpm -ivh mysql-community-common-5.7.-.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.-.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.-.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.-.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.-.el7.x86_64.rpm systemctl stop mysqld.service mv /etc/my.cnf /etc/my.cnf.bak
cp ../mysql/my.cnf /etc/my.cnf
mkdir -p /var/log/mysql/
chown -R mysql.mysql /var/log/mysql/
rm -rf /home/rzrk/mysql
systemctl start mysqld.service
sqlpw=`cat /var/log/mysql/mysqld.log | grep root@localhost | awk 'END{print $11}'` echo $sqlpw mysql -uroot -p$sqlpw --connect-expired-password -e"set global validate_password_policy=0; set password for root@localhost = password('mysql.rzrk');"
systemctl stop mysqld.service
systemctl start mysqld.service
Mysql之rpm安装5.7版本遇见的问题的更多相关文章
- MySql的rpm安装
MySQL 5.5(rpm格式)在Linux 上安装 Linux系统上安装MySQL 5.5prm 1.准备工作 从MySQL官网上分别下载mysql服务器端于客户端包. 下载步骤:Downloads ...
- MySQL的rpm安装教程
Linux 上安装 MySQL Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址: MySQL - MySQL服务器.你需要该选项,除非你只想连接运行在另 ...
- MySQL之RPM安装说明及配置
1.查看当前系统是否安装过Linux rpm -qa | grep -i mysql 未安装无任何输出:安装会打印对应mysql的rpm安装包. 2.准备安装包: MySQL-client-5.5.4 ...
- MySQL通过RPM安装
以前写过一篇文章,RedHat Linux 6.1 安装MySQL,本文是从解决依赖的角度上再次描述如何在Linux下以RPM包方式安装MySQL. [root@serv01 ~]# ls /iso/ ...
- MySQL通过rpm安装及其单机多实例部署
1. CentOS 下安装 MySQL Oracle 收购 MySQL 后,CentOS 为避免 MySQL 闭源的风险,改用 MySQL 的分支 MariaDB:MariaDB 完全兼容 MySQL ...
- mysql升级-rpm安装
mysql版本5.7.29升级到5.7.30 由于我们安装mysql的方式是通过mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar中的rpm包安装:rpm -Uvh my ...
- Linux下安装Mysql(RPM安装)
一.去官网下载本次安装须要的mysql版本号.我们须要安装的是5.1版本号的且centos系统是64位的.所下面载的是MySQL-community-5.1.73-1.rhel5.x86_64.rpm ...
- MySQL多实例安装(相同版本)
本文以MySQL5.7为例,介绍在同一台机器下如何安装多个MySQL实例. 环境:RHEL 6.5 + MySQL 5.7 1.单实例MySQL安装 2.多实例MySQL配置 3.多实例MySQL初始 ...
- Centos7使用离线安装包rpm安装MySQL5.6
参考地址: https://blog.csdn.net/ai_64/article/details/100557530 https://dev.mysql.com/doc/refman/5.6/en/ ...
随机推荐
- 各种推导式 详情见EVA_J的博客
#[每一个元素或者是和元素相关的操作 for 元素 in 可迭代数据类型] #遍历之后挨个处理 #[满足条件的元素相关的操作 for 元素 in 可迭代数据类型 if 元素相关的条件] #筛选功能 # ...
- 小福bbs-冲刺日志(第六天)
[小福bbs-冲刺日志(第六天)] 这个作业属于哪个课程 班级链接 这个作业要求在哪里 作业要求的链接 团队名称 小福bbs 这个作业的目标 后端努力完成大部分功能操作,前端UI完成大部分功能测试 作 ...
- 2019 SDN上机第一次实验作业
1. 安装轻量级网络仿真工具Mininet 先从GitHub上获取mininet源码,再输入命令进行安装,代码分别如下: git clone https://github.com/mininet/mi ...
- 在java的Map集合中,怎样更改value的值
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/chenyao1994/article/de ...
- oralce 超过1亿条数据的数据库表清理实践
2018-08-18 16:58 无腿鸟 阅读(331) 评论(0) 编辑 收藏 问题:当一个表的数据量超过一亿条,要删除其中的5000w条,如何处理. 如果直接使用delete语句,会涉及到到大量的 ...
- vue+springboot上传和下载附件功能
https://blog.csdn.net/qq_35867245/article/details/84325385 上传附件(服务端代码) 第一步:在application.yml中配置附件要上传的 ...
- Python——graphviz及pydotplus安装步骤
Python——graphviz及pydotplus安装步骤 一.安装Graphviz 网站:http://www.graphviz.org/download/ 下载msi文件 直接安装,完成之后添加 ...
- Status Code: 431 Request Header Fields Too Large
Status Code: 431 Request Header Fields Too Large
- 快速识别Hash加密方式hashid
快速识别Hash加密方式hashid hashid工具是用来识别不同类型的散列加密,进而判断哈希算法的类型.该工具的而语法格式如下所示: hashid [option] INPUT 其中,option ...
- 八、postman的cookie支持
postman中可以直接添加cookie,查看响应中的cookie https://postman-echo.com/cookies/set?foo1=bar1&foo2=bar2 var r ...