
在Linux系统下安装MySQL8不仅能够充分利用服务器的性能,还能确保数据库的稳定性和安全性
本文将详细介绍如何在Linux(以CentOS7为例)上安装MySQL8,并给出一些实用的配置和安全设置建议
一、准备工作 在安装MySQL8之前,确保你的Linux系统满足以下要求: 1.系统环境:本文基于CentOS 7进行操作,系统架构为x86_64
其他Linux发行版如Ubuntu的操作步骤可能会有所不同
2.内存和硬盘:建议内存至少2GB,硬盘空间至少20GB,以确保数据库的正常运行和数据的存储
3.防火墙设置:确保防火墙已开启,并开放MySQL所需的端口(默认3306)
不建议关闭防火墙,而应设置开放对应的端口给特定的IP地址
4.依赖安装:在安装MySQL之前,确保已安装必要的依赖组件,如wget、vim、libaio、ncurses-compat-libs等
二、卸载旧版本MySQL(如有) 在安装新版本MySQL之前,建议先卸载旧版本的MySQL或MariaDB,以避免版本冲突和依赖问题
1.查看已安装的MySQL版本: bash rpm -qa | grep -i mysql 2.停止MySQL服务: bash systemctl stop mysqld.service 3.卸载MySQL: bash rpm -ev --nodeps【MySQL包名】 4.删除MySQL相关目录和文件: bash find / -name mysql rm -rf【查找到的目录和文件】 rm -rf /etc/my.cnf rm -rf /var/log/mysql/mysqld.log 5.检查是否卸载干净: bash rpm -qa | grep -i mysql 三、安装MySQL8 方法一:通过YUM源安装 1.添加官方YUM源: 推荐使用国内镜像源以加速下载,如清华镜像源
bash wget https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql80-community-el7/mysql-community.repo -O /etc/yum.repos.d/mysql.repo 2.禁用默认的MySQL模块(如有): bash sudo yum module disable mysql 3.安装MySQL服务端: bash sudo yum install mysql-community-server -y 4.启动MySQL服务并设置开机自启: bash systemctl start mysqld systemctl enable mysqld systemctl status mysqld 5.获取初始密码: MySQL安装完成后,会在`/var/log/mysqld.log`文件中生成一个临时密码
bash grep temporary password /var/log/mysqld.log 方法二:通过二进制包安装 1.下载MySQL二进制包: 从MySQL官网(【https://dev.mysql.com/downloads/mysql/】(https://dev.mysql.com/downloads/mysql/))下载对应版本的二进制包,如`mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz`
2.上传并解压二进制包: 使用SFTP/FTP工具将下载的二进制包上传到服务器指定目录,如`/usr/local/`
bash tar -Jxvf mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz mv mysql-8.0.xx-linux-glibc2.12-x86_64 /usr/local/mysql8 3.创建MySQL组和用户: bash groupadd mysql useradd -r -g mysql mysql 4.创建数据目录并赋予权限: bash mkdir -p /data/mysql8_data chown mysql:mysql -R /data/mysql8_data chmod750 /data/mysql8_data 5.配置环境变量: 为了方便使用MySQL客户端工具,可以将`/usr/local/mysql8/bin`目录添加到PATH变量中
bash export PATH=$PATH:/usr/local/mysql8/bin 6.初始化数据库: 在初始化之前,需要创建`my.cnf`配置文件
bash vim /etc/my.cnf 添加以下内容: ini 【mysqld】 basedir=/usr/local/mysql8 datadir=/data/mysql8_data/mysql socket=/tmp/mysql.sock port=3306 character-set-server=utf8mb4 lower_case_table_names=1 然后初始化数据库: bash mysqld --initialize --user=mysql --basedir=/usr/local/mysql8 --datadir=/data/mysql8_data/mysql 7.启动MySQL服务: 可以将MySQL服务添加到systemd中,以便管理
bash cp /usr/local/mysql8/support-files/mysql.server /etc/init.d/mysql chkconfig --add mysql service mysql start 四、MySQL配置与安全设置 1.修改root密码: 使用初始密码登录MySQL后,立即修改root密码
sql ALTER USER root@localhost IDENTIFIED BY NewPassword123!; 密码复杂度要求:必须包含大小写字母、数字和特殊字符,长度至少8位
2.创建新用户并授权: 出于安全考虑,建议不要使用root用户进行日常操作
sql CREATE USER dev@% IDENTIFIED BY DevPassword123!; GRANT ALL PRIVILEGES ON. TO dev@%; FLUSH PRIVILEGES; 3.开启远程访问: 如果需要远程访问MySQL数据库,需要修改`my.cnf`配置文件中的`bind-address`参数为`0.0.0.0`,并开放防火墙的3306端口
bash firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload 4.配置字符集: 确保MySQL使用UTF-8字符集以避免中文乱码问题
ini 【mysqld】 character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci 5.性能优化: 根据服务器的内存和业务需求调整MySQL的配置文件,如`innodb_buffer_pool_size`和`max_connections`等参数
MySQL索引碎片整理:优化数据库性能的必备技巧
Linux系统安装MySQL8超详细教程
MySQL回滚机制:确保数据安全的秘诀
MySQL:ID、字符串与整数的运用技巧
Windows下MySQL主从配置详解
MySQL日期加减技巧速览
解决MySQL连接错误1401:实用指南与排查技巧
CentOS系统下MySQL数据库高效还原指南
如何检查MySQL是否已安装?简单几步教你确认!
CentOS6.7系统:轻松卸载MySQL教程
MySQL安装配置全攻略,CSDN详解
MySQL最佳安装位置指南
MySQL5.6压缩包安装全攻略
MySQL5.5.20安装步骤全解析:图文并茂安装图解指南
MySQL5.664位ZIP安装包使用指南
YUM源缺失MySQL,如何解决安装难题
MySQL5.7安装测试圆满成功报道
Ubuntu系统:解决MySQL扩展缺失问题
MySQL解压版安装包:快速安装指南