CentOS7 离线安装 MySQL 5.7 完整版(一次装好、配置齐全、开机自启、远程访问、字符集、防火墙、环境变量、日志、权限全部搞定,零返工)

适配你的服务器:CentOS Linux release 7.6.1810 x86_64,Java1.8 已就绪,内网环境无外网

一、电脑下载安装包(直接复制链接浏览器下载)

MySQL5.7.44 稳定版(glibc2.12 适配 CentOS7)

https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz

二、上传服务器

把下载好的 mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz 上传到服务器 /usr/local/ 目录

三、服务器一键执行全套安装脚本(复制整段运行)

# 1. 进入目录、解压、重命名
cd /usr/local
tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql

# 2. 卸载系统自带mariadb(避免冲突)
rpm -qa | grep mariadb | xargs rpm -e --nodeps

# 3. 创建mysql用户和用户组
groupadd mysql
useradd -r -g mysql mysql -s /sbin/nologin

# 4. 创建数据目录、日志目录、临时目录,授权
mkdir -p /data/mysql /var/log/mysql /tmp/mysql
chown -R mysql:mysql /usr/local/mysql /data/mysql /var/log/mysql /tmp/mysql
chmod -R 700 /data/mysql
chmod -R 755 /usr/local/mysql

# 5. 写入完整my.cnf配置(字符集utf8mb4、端口、最大连接、日志、远程、超时、innodb优化)
cat > /etc/my.cnf <<EOF
[mysqld]
# 基础路径
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
pid-file=/data/mysql/mysql.pid

# 网络配置
port=3306
bind-address=0.0.0.0
skip-name-resolve

# 字符集(支持emoji表情)
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

# 性能优化
max_connections=1000
max_connect_errors=1000
wait_timeout=86400
interactive_timeout=86400
innodb_buffer_pool_size=1G
innodb_log_file_size=256M
innodb_file_per_table=1

# 日志
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow.log
long_query_time=2
log-error=/var/log/mysql/error.log

# 安全
user=mysql
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysql/error.log
pid-file=/data/mysql/mysql.pid

[mysql]
default-character-set=utf8mb4
socket=/tmp/mysql.sock
EOF

# 6. 添加mysql环境变量(全局命令,任意目录可执行mysql)
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
source /etc/profile

# 7. 初始化数据库(生成临时密码,务必记录!)
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

# 8. 配置系统服务、开机自启
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

# 9. 启动mysql
service mysqld start

四、获取初始化临时密码

执行后查看日志拿密码(复制后面一串)

grep "temporary password" /var/log/mysql/error.log
# 示例输出:root@localhost: abc123XYZ
# 密码:abc123XYZ

五、登录 MySQL,配置密码、远程访问、权限(Java 项目必配)

# 登录(输入上面查到的临时密码)
mysql -uroot -p

# 依次执行下面SQL
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Root@123456';
FLUSH PRIVILEGES;
exit

密码我设置强密码 Root@123456,Java 项目连接直接用

六、防火墙放行 3306 端口(远程连接必须)

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

七、常用命令(全部给你备好)

# 启动
service mysqld start
# 停止
service mysqld stop
# 重启
service mysqld restart
# 查看状态
service mysqld status
# 开机自启已配置,重启服务器自动运行

更多推荐