今天以rpm方式安装mysql5.7踩了几个坑,记录下来以备以后查阅
1.查询是否安装了mariadb
rpm -qa |grep -i mariadb
如果查询有结果则卸载已安装的mariadb 本机查询出mariadb-libs
rpm -e --nodeps mariadb-libs
再次查询
find / -iname mariadb #或者使用whereis mariadb
2.查询是否安装了mysql
rpm -qa |grep -i mysql
若有结果同mariadb
3.获取rpm包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
4.添加mysql组和mysql用户
先检查是否存在mysql组和用户
cat /etc/group |grep mysql #查看组
cat /etc/passwd |grep mysql #查看用户
没有则添加
groupadd mysql #添加组
useradd -r -g mysql mysql #添加mysql用户至mysql组,-r表示创建系统用户,不可登录系统
修改mysql密码
passwd mysql
5.解压rpm包并安装
tar -xvf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-*.rpm
此时报错
![](https://img.haomeiwen.com/i8784128/41478a43904d6378.png)
原因是某些依赖没有安装,可根据自身实际情况安装依赖
yum -y install numactl
yum -y install autoconf
yum -y install perl-JSON
再次执行
rpm -ivh mysql-*.rpm
结果如下
![](https://img.haomeiwen.com/i8784128/654c822728a30e7c.png)
rpm安装时加--force强制安装
rpm -ivh mysql-*.rpm --force
结果如下
![](https://img.haomeiwen.com/i8784128/1214211c0e97c790.png)
安装成功!
6.数据库初始化
mysqld --initialize
在/etc/my.cnf中找到log-error,此处记录了mysql的错误日志,查看错误日志,找到如下的信息
A temporary password is generated for root@localhost: ********** #此处记录了初始密码
启动mysql
systemctl start mysqld
以root用户及初始密码登录
7.修改用户密码
登录成功后需要修改用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码' PASSWORD EXPIRE NEVER;
8.开放ip连接
至此就可以正常使用mysql了,但是此时mysql还不能以ip访问
![](https://img.haomeiwen.com/i8784128/4a4a83b738994144.png)
在/etc/my.cnf中找到如下行并注释
skip-name-resolve #在行首添加#号
重启mysql即可
systemctl restart mysqld
至此可以在服务器上以127.0.0.1进行连接mysql了
但是我尝试在本地通过服务器IP地址连接时报错同上,在mysql中执行如下语句
grant all PRIVILEGES on 数据库名.表名 to 'root'@'IP地址' identified by '密码' WITH GRANT OPTION; #数据库名和表名可替换为*,表示全匹配。ip地址可替换为%,表示不限制登录的ip地址
至此 此次mysql rpm安装采坑路结束
网友评论