CentOS 7最小版搭建JDK+Tomcat+Nginx+MySQL+Redis+MongoDB+Maven+Git+Jenkins环境(四)——安装配置MySQL(上)

四、安装配置MySQL

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。
MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。——摘自百度百科

1、检查是否已安装

使用命令sudo rpm -qa | grep mysql
在这里插入图片描述
如上图所示,即未安装

2、下载安装包

在MySQL官网中找到相应的安装包,如下图:
在这里插入图片描述
下载MySQL安装包到 /usr/targz 文件夹,使用命令sudo wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
在这里插入图片描述
因官网下载太慢,故使用网易云镜像文件进行下载,使用命令sudo wget http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
在这里插入图片描述

3、解压文件

使用命令 sudo tar -xvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
在这里插入图片描述
将解压后的文件移动到 /usr/local 中,并重命名为 mysql,使用命令sudo mv mysql-5.7.27-linux-glibc2.12-x86_64 /usr/local/mysql
在这里插入图片描述
进入安装目录,使用命令cd /usr/local/mysql
在这里插入图片描述

4、添加用户&用户组

为CentOS添加 mysql用户组mysql用户 ,使用命令sudo groupadd mysqlsudo useradd -r -g mysql -s /bin/false mysql(其中-s /bin/false参数指定mysql用户仅拥有 所有权 ,而没有 登录权限 )
在这里插入图片描述在这里插入图片描述

5、修改目录所有者

修改当前目录拥有者为新建的MySQL用户,使用命令sudo chown -R mysql:mysql ./
在这里插入图片描述

6、安装

安装MySQL,使用命令sudo ./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
在这里插入图片描述
安装成功后将显示上图的信息,最后面会生成root@localhost随机口令 ,将该口令记下

7、开启MySQL服务

使用命令sudo ./support-files/mysql.server start
在这里插入图片描述
期间遇到两个问题,具体如下:

7.1 出现报错信息:mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log'
mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.

原因:
没有该文件的权限
解决方案:

  • 使用命令ls /var/log/查看是否存在 /var/log/mariadb/mariadb.log 文件
    在这里插入图片描述
    从上图可知没有该文件,甚至没有 mariadb 这个文件夹,故使用命令sudo mkdir /var/log/mariadb新建文件夹
    在这里插入图片描述
    再使用命令sudo touch /var/log/mariadb/mariadb.log新建文件
    在这里插入图片描述
  • 给当前用户赋予该文件的权限,使用命令sudo chown -R mysql:mysql /var/log/mariadb/
    在这里插入图片描述
    再次执行命令sudo ./support-files/mysql.server start
    在这里插入图片描述
    出现报错信息 mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
    根据上面的思路同样先使用命令 ls /var/lib/查看是否存在mysql目录
    在这里插入图片描述
    从上图也可知,并不存在该目录,故使用命令 sudo mkdir /var/lib/mysql创建目录
    在这里插入图片描述
    接着同样需要对当前用户赋予该目录写权限,使用命令 sudo chmod -R 755 /var/lib/mysql/
    在这里插入图片描述
    再次执行启动命令
    在这里插入图片描述
7.2 出现报错信息:ERROR! The server quit without updating PID file
ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

引起原因很多,需逐一排查:
原因1:
MySQL在启动时没有指定配置文件时会使用 /etc/my.cnf 配置文件
解决方案1:
打开这个文件查看在 [mysqld] 节下有没有指定数据目录(datadir),加上datadir = /usr/local/mysql/data
在这里插入图片描述
原因2:
SELinux惹的祸,如果是CentOS系统,默认会开启 SELinux
解决方案2:
关闭它,使用命令sudo vi /etc/selinux/config打开其配置文件,把SELINUX=enforcing改为SELINUX=disabled后保存并重启
在这里插入图片描述
使用命令systemctl reboot -i重启
在这里插入图片描述
赋予权限,使用命令 sudo chmod -R 755 ./,再次执行
在这里插入图片描述
再次出现报错信息

ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

解决方案
/var/lib/mysql 目录下新建 localhost.localdomain.pid 文件,使用命令 sudo touch /var/lib/mysql/localhost.localdomain.pid
在这里插入图片描述
若经过尝试,发现以上方案都无法解决该报错,则说明是
原因3:
存在某些软件(如MariaDB)与MySQL有冲突
解决方案3:
删除MySQL整个目录,使用命令sudo rm -rf /usr/local/mysql,再使用命令sudo rpm -qa | grep mariadb查看是否已安装
在这里插入图片描述
由上图可知,已安装过该软件,则使用命令sudo rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps卸载该软件
在这里插入图片描述
再依次执行上述的3-6的步骤,最后执行命令 sudo ./support-files/mysql.server start启动
在这里插入图片描述
由上图可知,已可以正常开启MySQL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值