MySQL是一款开源的关系型数据库管理系统(RDBMS),广泛应用于各种Web应用程序
尽管许多Linux发行版提供了通过包管理器安装MySQL的简便方法,但在某些情况下,你可能需要从源代码编译安装或者从压缩包手动解压安装MySQL
本文将详细介绍如何在Linux系统上解压安装MySQL5.x版本,并提供一些最佳实践以确保安装过程顺利且高效
一、准备工作 在安装MySQL之前,你需要确保系统满足以下基本要求: 1.Linux操作系统:本文将以CentOS 7为例,但步骤适用于大多数基于Red Hat的发行版
Debian/Ubuntu用户需做适当调整
2.用户权限:你需要有root用户权限或使用sudo命令来执行安装过程中的关键步骤
3.依赖库:安装必要的开发工具和库文件,如gcc、make、cmake等
4.内存和磁盘空间:确保系统有足够的内存和磁盘空间来安装和运行MySQL
1. 更新系统并安装依赖 首先,更新你的系统并安装必要的依赖库: bash sudo yum update -y sudo yum groupinstall Development Tools -y sudo yum install cmake gcc-c++ ncurses-devel bison -y 2. 创建MySQL用户和组 为了安全起见,建议创建一个专门用于运行MySQL服务的用户和组: bash sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql 二、下载MySQL源码包或二进制包 你可以选择从MySQL官方网站下载源码包自行编译,或者下载预编译的二进制包进行解压安装
这里以二进制包为例,因为它更加简便快捷
1. 下载MySQL二进制包 访问MySQL官方网站下载页面,选择合适的MySQL5.x版本(如MySQL5.7或5.6),并下载适用于Linux的二进制压缩包(通常为tar.gz格式)
bash wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz 2. 解压MySQL二进制包 将下载的压缩包解压到指定目录,通常选择/usr/local/mysql作为安装目录: bash sudo tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ sudo ln -s /usr/local/mysql-5.7.31-linux-glibc2.12-x86_64 /usr/local/mysql 三、配置MySQL 解压完成后,你需要进行一些配置步骤来初始化数据库并设置MySQL服务
1.初始化数据库 使用`mysqld --initialize`命令来初始化数据库
注意,这个命令会在数据目录中生成必要的系统表
bash sudo mkdir -p /usr/local/mysql/data sudo chown -R mysql:mysql /usr/local/mysql sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data 初始化过程会输出一个临时root密码,请记下这个密码,因为稍后你需要用它来登录MySQL并进行密码修改
2. 配置MySQL服务 为了方便管理,可以创建一个systemd服务文件来启动和停止MySQL服务
bash sudo nano /etc/systemd/system/mysqld.service 在文件中添加以下内容: ini 【Unit】 Description=MySQL Server After=network.target After=syslog.target 【Service】 User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf PIDFile=/usr/local/mysql/data/mysqld.pid LimitNOFILE =5000 【Install】 WantedBy=multi-user.target 3. 创建MySQL配置文件 在`/etc`目录下创建一个MySQL配置文件`my.cnf`,你可以根据需要调整配置选项
bash sudo nano /etc/my.cnf 一个简单的配置文件示例如下: ini 【mysqld】 datadir=/usr/local/mysql/data socket=/usr/local/mysql/tmp/mysql.sock user=mysql Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 【mysqld_safe】 log-error=/var/log/mysqld.log pid-file=/usr/local/mysql/data/mysqld.pid 确保配置文件中的路径与实际安装路径一致
4. 设置权限和目录 创建必要的目录并设置正确的权限: bash sudo mkdir -p /usr/local/mysql/tmp sudo chown -R mysql:mysql /usr/local/mysql/tmp 5. 启动MySQL服务 使用systemd启动MySQL服务,并设置开机自启: bash sudo systemctl daemon-reload sudo systemctl start mysqld sudo systemctl enable mysqld 四、安全配置与初始化 安装完成后,你需要进行一些安全配置,如修改root密码、删除匿名用户、禁止远程root登录等
1. 获取临时root密码并登录 在初始化数据库时,系统生成了一个临时root密码
使用这个密码登录MySQL: bash sudo /usr/local/mysql/bin/mysql -u root -p 输入临时密码登录后,立即修改root密码: sql ALTER USER root@localhost IDENTIFIED BY NewStrongPassword!; FLUSH PRIVILEGES; 2. 删除匿名用户并禁止远程root登录 登录MySQL后,执行以下SQL命令来删除匿名用户并禁止远程root登录: sql DELETE FROM mysql.user WHERE User=; DELETE FROM mysql.user WHERE User=root AND Host=%; FLUSH PRIVILEGES; 3. 创建新用户并授权 为了安全起见,建议创建一个新用户并授予必要的权限,而不是使