CentOS下安装MySQL详解

文章目录

  • 一、安装前准备
  • 二、安装步骤
    • [1. 下载MySQL安装包](#1. 下载MySQL安装包)
    • [2. 上传并解压安装包](#2. 上传并解压安装包)
    • [3. 安装MySQL](#3. 安装MySQL)
    • [4. 配置MySQL](#4. 配置MySQL)
    • [5. 启动MySQL服务](#5. 启动MySQL服务)
    • [6. 设置开机自启](#6. 设置开机自启)
    • [7. 连接MySQL并修改密码](#7. 连接MySQL并修改密码)
  • 三、常见问题及解决方案

在Linux环境下,MySQL是一种广泛使用的开源关系型数据库管理系统。本文将介绍在CentOS 7.2系统上安装MySQL 5.7.44版本的过程。

一、安装前准备

在安装MySQL之前,需要确保系统满足以下要求:

  • CentOS 7.2或更高版本。
  • 具有足够的磁盘空间和内存。
  • 具有root权限或具有sudo权限的用户。

另外,由于CentOS 7默认安装了MariaDB,而MariaDB与MySQL存在冲突,因此在安装MySQL前需要卸载MariaDB

bash 复制代码
#卸载mariadb
rpm -qa | grep mariadb
rpm -e --nodeps <包名>  #(如 mariadb-libs-5.5.44-2.el7.centos.x86_64)

#清理旧MySql残留
rm -rf /etc/my.cnf /var/lib/mysql /var/log/mysqld.log

二、安装步骤

1. 下载MySQL安装包

MySQL官方网站:https://dev.mysql.com/

网盘链接: https://pan.baidu.com/s/1gEDphgm4IXtJD2Oz2hwtNA 提取码: fs8e

2. 上传并解压安装包

使用FTP工具将下载好的安装包上传到CentOS服务器的根目录下。然后,使用WinRAR或其他解压工具在Windows环境下解压安装包。解压后,将得到的文件夹通过FTP工具再次上传到CentOS服务器的根目录下。

3. 安装MySQL

打开终端,进入MySQL安装包所在的目录,执行以下命令进行安装:

bash 复制代码
sudo tar -xvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.xz
sudo mv mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql
sudo useradd -M -s /sbin/nologin mysql
sudo mkdir /var/lib/mysql
sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod -R 700 /var/lib/mysql

4. 配置MySQL

进入MySQL目录,执行以下命令进行初始化配置:

bash 复制代码
cd /usr/local/mysql
sudo bin/mysqld --initialize --user=mysql

执行完成后,会生成一个临时密码,请务必记下这个密码。

5. 启动MySQL服务

编辑MySQL的配置文件my.cnf,设置字符集为UTF-8,避免中文乱码问题。然后,启动MySQL服务:

bash 复制代码
sudo bin/mysqld_safe --user=mysql &

6. 设置开机自启

为了方便管理,可以将MySQL设置为开机自启。执行以下命令:

bash 复制代码
sudo cp support-files/mysql.server /etc/init.d/mysql
sudo chkconfig --add mysql
sudo chkconfig mysql on

7. 连接MySQL并修改密码

使用之前生成的临时密码连接MySQL,然后修改密码:

bash 复制代码
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

三、常见问题及解决方案

在安装和配置MySQL过程中,可能会遇到一些常见问题。例如,无法启动MySQL服务、无法连接到MySQL等。这些问题通常是由于配置文件错误、权限问题或端口冲突等原因引起的。在解决这些问题时,可以参考官方文档或搜索相关论坛,找到相应的解决方案。

通过以上步骤,我们成功地在CentOS环境下安装了MySQL数据库。在实际使用中,还需要根据具体需求进行更多的配置和优化。

相关推荐
Jason_chen2 小时前
Linux 6.2 音频机制深度解析:AI驱动的低延迟音频与零信任音频安全架构
linux
下午写HelloWorld2 小时前
Linux系统及Ubuntu常用指令
linux·ubuntu·操作系统
十五年专注C++开发3 小时前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql
weixin_523185324 小时前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
My is 李豆4 小时前
CentOS 7 安装 Docker 完整教程(含 docker-compose 插件)
docker·eureka·centos
ULIi096kr5 小时前
MySQL解决Too many connections报错:连接数爆满排查、优化与永久解决方案
数据库·mysql·adb
凡人叶枫5 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
云栖梦泽5 小时前
玩转RK3506SDK
linux·嵌入式硬件
Java面试题总结5 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器