centos7安装mysql5.7(rpm安装版)
目录
centos7安装mysql5.7(rpm安装版)
1.Centos 查看系统版本信息
- 查看版本号
ll /etc/*centos*
cat /etc/centos-release
- 查看操作系统位数
getconf LONG_BIT
2.下载对应版本的mysql的RP-Bundle包
https://downloads.mysql.com/archives/community/
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
- 安装依赖
- 查看linux上是否已经安装了mysql,有则卸载,一般centos7默认安装了mariadb,这里把它卸载
[root@xiuba108 home]# rpm -qa|grep mariadb
[root@xiuba108 home]# rpm -qa|grep mysql
- 卸载
[root@xiuba108 home]# rpm -e --nodeps mariadb*
[root@xiuba108 home]# rpm -e --nodeps mysql*
- 安装mysql所需要的依赖
[root@xiuba108 home]# yum -y install libaio
[root@xiuba108 home]# yum -y install perl
[root@xiuba108 home]# yum -y install net-tools
- 安装mysql
- 解压mysql安装包
[root@xiuba108 home]# tar mysql-
mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar mysql-connector-java-5.1.38.jar
[root@xiuba108 home]# ll mysql*
- 安装mysql5.7,按以下安装顺序
[root@xiuba108 home]# rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
[root@xiuba108 home]# rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
[root@xiuba108 home]# rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
[root@xiuba108 home]# rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
- 查看mysql5.7的状态,没有启动则把mysql启动
[root@xiuba108 ~]# service mysqld status
- 启动mysql ,active(running)代表启动成功
[root@xiuba108 ~]# service mysqld start
- 修改密码
[root@xiuba108 ~]# grep password /var/log/mysqld.log
- 用临时密码登录mysql
update user set authentication_string=password('123456') where user='root';
Flush privileges;
忘记root密码解决方案
1.关闭MySQL服务器
service mysqld stop
2.使用--skip-grant-tables选项重启MySQL服务
mysqld --skip-grant-tables --user=mysql &
3.用空密码的root用户连接到MySQ,并且更新root口令:
mysql -uroot
MySQL 5.7以下版本:
update mysql.user set password=password('新密码') where user='root';
MySQL 5.7版本:
update user set authentication_string=password('新密码') where user='root' ;
4.刷新权限表,使得权限认证重新生效:
flush privileges;
5.重启MySQL数据库
service mysqld restart
6.登录MySQL
mysql -uroot
- mysql 无法启动
- 可能是mysql.pid文件没有写的权限,找到 my.cnf下面的配置路径.
ll /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
- 可能进程里已经存在mysql进程
ps -ef | grep mysql
解决方法:用命令“ps -ef|grep mysqld ”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
- 可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它 删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 ! - mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data - skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段, 如果有就立即注释掉吧 - 错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限 - selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为 SELINUX=disabled后存盘退出重启机器试试
- 防火墙开启端口
到这其实mysql已经安装和配置好,但是centos7的开了防火墙,外面还是访问不到mysql 的,所以还要开端口3306(或者把防火墙关掉也行,生产环境勿用)
- 关闭防火墙
[root@localhost src]# systemctl stop firewalld
- centos7下安装mysql5.7完毕