Linux 安装Mysql-5.7

本文介绍如何通过TAR包安装MySQL 5.7版本,包括配置环境变量、初始化数据库、设置开机启动及调整防火墙等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TAR包安装步骤
1、添加Mysql组:
-> groupadd mysql
2、添加Mysql用户
->useradd -r -g mysql mysql
3、检查是否安装了 libaio
->rpm -qa | grep libaio
如果没有,则安装
-> yum -y install libaio
4、修改/etc/my.cnf
->vi /etc/my.cnf
以下内容为原有
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
删除以上内容,增加以下内容
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
#socket=/var/lib/mysql/mysql.sock
[mysqld]
#skip-name-resolve
#设置3306端口
port = 3306
#socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/opt/app/mysql
# 设置mysql数据库的数据的存放目录,生产环境需要指定挂载路径
datadir=/opt/app/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
max_allowed_packet=16M
5、创建目录:
-> mkdir /opt/app/mysql
6、修改mysql安装目录权限
->chown -R mysql:mysql mysql
7、初始化Mysqld,进入mysql根目录
->./bin/mysqld --initialize --user=mysql --basedir=/opt/app/mysql --datadir=/opt/app/mysql/data
提示密码:
A temporary password is generated for root@localhost: #eOkl+g=5oXk
8、配置Mysql
1、设置开机启动
a、复制启动脚本到资源目录:
->cp support-files/mysql.server /etc/rc.d/init.d/mysqld
b、增加mysql服务控制脚本执行权限:
->chmod +x /etc/rc.d/init.d/mysqld
c、将myqsl 服务加入到系统服务
->chkconfig --add mysqld
d、检查mysqld服务是否已经生效:
->chkconfig --list mysqld
以下结果表明mysqld服务已经生效,在2.3.4.5运行级别随系统启动
而自动启动,以后可以使用service命令控制mysql的启动与停止
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
e、查看启动项:
->chkconfig --list | grep -i mysql
f、删除启动项:
->chkconfig --del mysqld
g、启动mysqld:
->service mysqld start
h、查看端口3306
->netstat -tlnp | grep 3306
9、环境变量/ect/profile为系统环境变量
->vi /etc/profile
增加以下内容
export MYSQL_HOME=/opt/app/mysql
export PATH=$PATH:$MYSQL_HOME/bin
将其生效:
->source /etc/profile
查看是否已生效:
->echo $MYSQL_HOME
10、测试mysql
登陆Mysql
-> mysql -uroot -p#eOkl+g=5oXk
该密码在初始化时系统提供
第一次登陆需要修改密码,方可后续操作
->set password=password('admin123');
修改mysql.user表访问权限
->use mysql;
->update user set host='%' where user='root';
说明:user表中的Host为可访问机器,修改即可通配符即可
11、防火墙端口设置,便于远程访问:
->firewall-cmd --zone=public --add-port=3306/tcp --permanent
->firewall-cmd --reload
说明:
1、以上命令提示:success,即执行成功
2、CentOs升级到7之后,使用firewalld代替了原来的iptables
3、--zone:作用域,网络区域定义了网络可信等级,这是一个一对多
的关系,这意味着一次连接可以是一个区域的一部分,而一个区域可以
用于很多连接
4、--add-port:添加端口与通信协议,格式:端口/通讯协议
协议是tcp 或udp
5、--permanent:永久生效,没有此参数系统重启后端口访问失效

到此Mysql5.7版本安装完毕
<think>嗯,用户这次的需求很明确:想在Linux系统上安装MySQL5.7.37。从引用内容看,用户之前可能遇到过安装错误(引用2提到初始化报错),这次特意指定了精确版本号,说明对版本一致性可能有严格要求,比如某些依赖项目需要特定小版本。注意到用户提供的两个引用都是关于手动安装二进制包(.tar.gz)的方式,引用1涉及pid文件权限配置,引用2提到了初始化参数。这暗示用户可能更倾向二进制安装而非apt/rpm包管理——虽然后者更方便,但二进制包在自定义路径和配置上更灵活。值得注意的风险点是:引用2显示的初始化命令包含自定义路径(--basedir和--datadir),但用户当前提问没提路径需求。考虑在回答中既保持路径的灵活性(用占位符),又提醒默认路径规则。同时要预防引用2的报错,重点强调初始化步骤的权限问题(mysql用户权限)。准备将安装分为下载准备、解压配置、权限设置、初始化、启动管理5个部分。特别注意:1)二进制安装需要手动解决依赖库(如libaio),需要明确列出检查命令2)初始化阶段用--initialize-insecure生成临时密码容易导致安全问题,所以采用更安全的--initialize3)引用1提到的pid文件权限问题,需在systemd服务文件中显式配置PIDFile位置用户是开发者还是运维?从精准版本需求看更像是开发环境部署。虽然回答给出完整步骤,但考虑补充说明“如果只是快速测试可用docker方案”作为备选。</think> 以下是在Linux系统上手动安装MySQL 5.7.37的完整指南(基于二进制包),结合最佳实践和常见问题解决方案: ### 安装步骤 1. **安装依赖库** ```bash sudo apt update sudo apt install libaio1 libnuma1 libtinfo5 ``` 2. **下载二进制包** ```bash wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz ``` 3. **解压安装** ```bash sudo tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ cd /usr/local sudo ln -s mysql-5.7.37-linux-glibc2.12-x86_64 mysql ``` 4. **创建系统用户** ```bash sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql ``` 5. **配置目录权限**(关键步骤,预防[引用1]权限问题) ```bash cd /usr/local/mysql sudo mkdir mysql-files sudo chown mysql:mysql mysql-files sudo chmod 750 mysql-files ``` 6. **初始化数据库**(解决[引用2]初始化报错) ```bash sudo bin/mysqld --initialize --user=mysql \ --basedir=/usr/local/mysql \ --datadir=/usr/local/mysql/data ``` 7. **获取临时密码** ```bash sudo grep 'temporary password' data/*.err ``` 8. **启动服务** ```bash sudo cp support-files/mysql.server /etc/init.d/mysql sudo service mysql start ``` 9. **安全配置** ```bash bin/mysql_secure_installation ``` 按提示操作:重置root密码、移除匿名用户、禁用远程root登录等 ### 常见问题解决 1. **PID文件权限问题**(如[引用1]) ```bash sudo mkdir -p /var/run/mysqld sudo chown mysql:mysql /var/run/mysqld ``` 2. **初始化报错处理**(如[引用2]) - 检查依赖:`ldd bin/mysqld | grep "not found"` - 清理残留:`sudo rm -rf /etc/my.cnf data/` ### 环境配置 ```bash echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bashrc source ~/.bashrc ``` ### 验证安装 ```bash mysqladmin -u root -p version # 应显示:mysqladmin Ver 8.42 Distrib 5.7.37... ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值