本文将详细介绍如何在Linux系统上安装和配置MySQL5.7,确保过程清晰、准确,并且具备可操作性
一、准备工作 在搭建MySQL5.7之前,我们需要做一些准备工作,包括选择合适的Linux发行版、更新系统软件包、检查并卸载系统自带的MySQL版本(如果有)等
1.选择合适的Linux发行版: - 推荐使用CentOS或Ubuntu,这两个发行版在服务器领域应用广泛,且拥有良好的社区支持和文档
2.更新系统软件包: - 对于CentOS,可以使用`yum`命令更新软件包: bash yum clean cache yum makecache - 对于Ubuntu,可以使用`apt`命令更新软件包: bash sudo apt update sudo apt upgrade 3.检查并卸载系统自带的MySQL版本: - 系统可能自带旧版本的MySQL或MySQL相关组件,为避免冲突,应将其卸载: bash yum list installed | grep mysql CentOS sudo apt list --installed | grep mysql Ubuntu -卸载找到的MySQL相关组件: bash yum -y remove mysql-libs.x86_64 CentOS示例 sudo apt remove --purge mysql-server mysql-client mysql-common -y Ubuntu示例 二、下载并安装MySQL5.7 1.下载MySQL 5.7安装包: -访问MySQL官方下载页面:【MySQL官方下载页面】(https://downloads.mysql.com/archives/community/) - 下载适用于Linux的MySQL5.7安装包,通常是一个`.tar.gz`格式的压缩包
2.上传安装包到Linux服务器: - 可以使用`scp`、`rsync`或FTP等工具将安装包上传到Linux服务器的指定目录,例如`/usr/local`
3.解压安装包: - 使用`tar`命令解压安装包: bash tar -zxvf mysql-5.7.xx-linux-glibc2.12-x86_64.tar.gz 将xx替换为具体的版本号 4.移动并重命名解压后的目录: - 将解压后的目录移动到`/usr/local`目录下,并重命名为`mysql`: bash mv mysql-5.7.xx-linux-glibc2.12-x86_64 /usr/local/mysql 三、创建MySQL用户组和用户 为了安全起见,我们需要为MySQL创建一个专用的用户组和用户
1.创建MySQL用户组: bash groupadd mysql 2.创建MySQL用户并将其添加到MySQL用户组: bash useradd -r -g mysql mysql 四、创建数据目录并赋予权限 MySQL需要一个数据目录来存储数据库文件
1.创建数据目录: -可以在`/usr/local/mysql`目录下创建一个`data`子目录: bash mkdir /usr/local/mysql/data - 或者在指定位置创建,如`/data/mysql`: bash mkdir -p /data/mysql 2.赋予数据目录权限: - 将数据目录的属主和属组更改为MySQL用户: bash chown -R mysql:mysql /usr/local/mysql/data 如果数据目录在/usr/local/mysql下 chown -R mysql:mysql /data/mysql 如果数据目录在/data/mysql下 五、配置`my.cnf`文件 `my.cnf`是MySQL的配置文件,需要对其进行正确配置以确保MySQL能够正常运行
1.编辑my.cnf文件: - 通常,`my.cnf`文件位于`/etc`目录下
如果该文件不存在,可以手动创建: bash vi /etc/my.cnf 2.添加配置内容: - 以下是一个基本的`my.cnf`配置示例: ini 【mysqld】 bind-address=0.0.0.0 port=3306 user=mysql basedir=/usr/local/mysql datadir=/data/mysql 或/usr/local/mysql/data socket=/tmp/mysql.sock log-error=/data/mysql/mysql.err 错误日志文件路径 pid-file=/data/mysql/mysql.pid PID文件路径 character-set-server=utf8mb4 symbolic-links=0 explicit_defaults_for_timestamp=true 【mysql】 default-character-set=utf8mb4 【client】 port=3306 default-character-set=utf8mb4 六、初始化数据库 在启动MySQL服务之前,需要对数据库进行初始化
1.进入MySQL的bin目录: bash cd /usr/local/mysql/bin 2.执行初始化命令: bash ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql --initialize - 注意:如果在初始化过程中遇到缺少`libaio.so.1`文件的错误,可以下载并安装该文件: bash wget http://mirror.centos.org/centos/6/os/x86_64/Packages/libaio-0.3.107-10.el6.x86_64.rpm rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm - 如果初始化失败,检查`data`目录下是否有旧文件,如果有,请清空后再重新执行初始化命令
3.查看临时密码: -初始化成功后,会在错误日志文件(如`/data/mysql/mysql.err`)中生成一个临时密码
使用`cat`命令查看该文件,并复制临时密码
七、启动MySQL服务并修改密码 1.启动MySQL服务: - 可以使用MySQL自带的启动脚本启动服务: bash /usr/local/mysql/support-files/mysql.server start - 或者将启动脚本复制到`/etc/init.d/mysql`中,并使用`service`命令启动: bash cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql service mysql start 2.登录MySQL并修改密码: - 使用临时密码登录MySQL: bash ./mysql -u root -p 在MySQL的bin目录下执行 - 登录后,执行以下命令修改密码: sql SE