MySQL作为开源RDBMS的佼佼者,以其高性能、可靠性和易用性,在众多应用场景中备受青睐
本文将详细介绍如何在Ubuntu系统上安装并配置MySQL5.7,以便读者能够充分利用这一强大的数据库工具
一、安装前的准备 在开始安装MySQL5.7之前,我们需要确保Ubuntu系统已经更新到最新状态,以避免潜在的依赖问题
打开终端,执行以下命令: bash sudo apt-get update sudo apt-get upgrade 这两条命令分别用于更新软件包索引和升级已安装的软件包
更新完成后,系统将处于最新状态,为安装MySQL5.7做好准备
二、安装MySQL5.7 方法一:通过APT方式安装 APT(Advanced Package Tool)是Ubuntu上的软件包管理工具,通过它可以方便地安装、更新和删除软件包
以下是使用APT方式安装MySQL5.7的步骤: 1.安装MySQL服务器 在终端中执行以下命令: bash sudo apt-get install mysql-server 系统将自动下载并安装MySQL5.7及其所需的依赖包
安装过程中,系统会提示设置MySQL的root用户密码,请按照提示设置一个安全的密码并记住
2.验证安装 安装完成后,可以通过以下命令验证MySQL服务是否正常运行: bash sudo systemctl status mysql 如果看到`active(running)`字样,说明MySQL服务已经成功启动
方法二:手动下载并安装 对于需要特定版本或希望自定义安装过程的用户,可以选择手动下载MySQL5.7的安装包并进行安装
以下是具体步骤: 1.下载MySQL 5.7安装包 访问MySQL的官方下载页面(https://downloads.mysql.com/archives/community/),找到MySQL5.7的下载链接
以MySQL5.7.21为例,可以使用以下命令下载: bash wget https://cdn.mysql.com/archives/mysql-5.7/mysql-server_5.7.21-1ubuntu16.04_amd64.deb-bundle.tar 下载完成后,将得到一个`.deb-bundle.tar`格式的压缩包
2.解压缩安装包 在终端中执行以下命令解压缩安装包: bash tar -xvf mysql-server_5.7.21-1ubuntu16.04_amd64.deb-bundle.tar 解压缩后,将得到多个`.deb`文件,这些文件分别对应MySQL的不同组件
3.安装依赖包 在安装MySQL之前,需要确保系统已经安装了必要的依赖包
执行以下命令安装依赖包: bash sudo apt-get install libaio1 libmecab2 如果你的系统是Ubuntu20.04或更高版本,还需要额外安装`libtinfo5`包: bash sudo apt-get install libtinfo5 4.预配置和安装MySQL 执行预配置命令,让系统提前了解MySQL的配置信息: bash sudo dpkg-preconfigure mysql-community-server_.deb 然后,执行以下命令安装MySQL的各个组件: bash sudo dpkg -i mysql-{common,community-client,client,community-server,server}_.deb 安装过程中,系统会提示设置MySQL的root用户密码,请按照提示设置一个安全的密码
5.启动MySQL服务 安装完成后,需要启动MySQL服务
执行以下命令: bash sudo systemctl start mysql 并设置开机自启: bash sudo systemctl enable mysql 6.验证安装 同样地,可以通过`sudo systemctl status mysql`命令验证MySQL服务是否正常运行
三、配置MySQL5.7 安装完成后,我们需要对MySQL5.7进行一些必要的配置,以确保其能够符合我们的使用需求
1. 修改数据目录 默认情况下,MySQL的数据目录位于`/var/lib/mysql/`
为了将数据存储在更合适的位置(如挂载的数据盘),我们需要修改数据目录
以下是具体步骤: 1.停止MySQL服务 在修改数据目录之前,需要先停止MySQL服务: bash sudo service mysql stop 2.创建新数据目录 假设我们将数据目录移动到`/data/mysql/`,首先创建该目录: bash sudo mkdir -p /data/mysql 3.复制旧数据目录到新位置 将默认安装的MySQL数据库复制到新数据目录中: bash sudo cp -R /var/lib/mysql/ /data/mysql/ 4.修改权限 修改新数据目录的访问权限,使其归MySQL用户所有: bash sudo chown -R mysql:mysql /data/mysql 5.修改配置文件 编辑MySQL的配置文件(如`/etc/mysql/mysql.conf.d/mysqld.cnf`),将`datadir`修改为新的数据目录路径: ini 【mysqld】 datadir=/data/mysql 6.修改AppArmor配置 如果系统使用了AppArmor,还需要修改AppArmor的配置文件,允许MySQL访问新的数据目录
编辑`/etc/apparmor.d/usr.sbin.mysqld`文件,将`/var/lib/mysql/`路径替换为`/data/mysql/`: plaintext /data/mysql/ r, /data/mysql/ rwk, 7.重启AppArmor和MySQL服务 最后,重启AppArmor和MySQL服务,使配置生效: bash sudo /etc/init.d/apparmor restart sudo /etc/init.d/mysql restart 8.验证配置 登录MySQL,执行以下命令验证数据目录是否已成功修改: sql SHOW VARIABLES LIKE %dir%; 如果`datadir`显示为`/data/mysql`,则说明修改成功
2. 配置字符集 字符集配置对于MySQL的国际化支持至关重要
默认情况下,MySQL可能使用非UTF-8的字符集,这可能导致数据写入出错
因此,我们需要修改MySQL的配置文件,将字符集设置为UTF-8
编辑MySQL的配置文件(如`/etc/mysql/my.cnf`),在`【client】`、`【mysql】`和`【mysqld】`部分分别添加或修改以下配置: ini 【client】 default-character-set=utf8 【mysql】 default-character-set=utf8 【mysqld】 character-set-server=utf8 保存配置文件后,重启MySQL服务使配置生效
四、安全设置 为了提高MySQL数据库的安全性,我们需要进行一些基本的安全设置
这些设置包括设置root密码、删除匿名用户、限制远程登录等
MySQL5.7在安装过程中已经提示设置root密码,但为了确保安全,我们仍