当前位置: 首页 > news >正文

CentOS Linux 环境二进制方式安装 MySQL 5.7.32

文章目录

  • 安装依赖包
  • 新建用户
  • 解压
  • 初始化
  • 配置文件
  • 启动服务
  • 登录MySQL
  • 修改密码
  • 停止数据库

安装依赖包

yum -y install libaio perl perl-devel libncurses* autoconf numactl

新建用户

useradd mysql

解压

tar xf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz 
mv mysql-5.7.32-linux-glibc2.12-x86_64 /usr/local/mysql

初始化

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data3306

配置文件

touch /usr/local/mysql/data3306/error.log
chown -R mysql:mysql /usr/local/mysql/data3306/cat > /usr/local/mysql/data3306/my.cnf <<"EOF"
[mysqld]
# ===== 基础配置 =====
basedir         = /usr/local/mysql       # MySQL安装目录
datadir         = /usr/local/mysql/data3306  # 数据目录
socket          = /usr/local/mysql/data3306/mysql.sock
pid-file        = /usr/local/mysql/data3306/mysqld.pid
user            = mysql
port            = 3306
bind-address    = 0.0.0.0              # 远程访问需改为 0.0.0.0(注意安全)
skip-name-resolve                        # 禁用DNS解析,提升连接速度# ===== 字符集配置 =====
character-set-server = utf8mb4
collation-server     = utf8mb4_unicode_ci# ===== 日志配置 =====
log_error      = /usr/local/mysql/data3306/error.log        # 确保logs目录存在
slow_query_log = 1
slow_query_log_file = /usr/local/mysql/data3306/slow.log    # 慢查询日志
long_query_time = 2
log_queries_not_using_indexes = 1# ===== InnoDB 引擎优化 =====
default-storage-engine = InnoDB
innodb_buffer_pool_size = 1G             # 根据物理内存调整(建议70-80%)
innodb_log_file_size    = 512M           # 需重启生效
innodb_log_buffer_size  = 64M
innodb_flush_log_at_trx_commit = 1       # 1=严格ACID,2=性能优先
innodb_file_per_table = 1                # 独立表空间# ===== 连接与线程 =====
max_connections        = 500             # 最大连接数
thread_cache_size      = 128
wait_timeout           = 300             # 非交互连接超时(秒)
interactive_timeout    = 300# ===== 安全与权限 =====
symbolic-links = 0                       # 禁用符号链接(安全加固)
local_infile   = 0                       # 禁用本地文件加载# ===== 二进制日志(主从复制时启用)=====
server-id       = 3306                    # 主从唯一ID
log_bin        = /usr/local/mysql/data3306/mysql-bin.log
expire_logs_days = 30                  # 自动清理binlog
binlog_format  = row# ===== 其他优化 =====
key_buffer_size         = 64M
tmp_table_size          = 64M
max_heap_table_size     = 64M
query_cache_type        = 0              # 关闭查询缓存
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES[mysqld_safe]
log-error = /usr/local/mysql/data3306/error.log  # 与[mysqld]中一致
socket    = /usr/local/mysql/data3306/mysql.sock[client]
socket    = /usr/local/mysql/data3306/mysql.sock      # 客户端连接socket路径
default-character-set = utf8mb4[mysql]
default-character-set = utf8mb4
EOF

启动服务

/usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/data3306/my.cnf &

登录MySQL

mysql -u root -P 3306  -S /usr/local/mysql/data3306/mysql.sock

修改密码

alter user root@localhost identified by 'root';
create user root@'%' identified by 'root';
grant all on *.* to root@'localhost';
flush privileges;

停止数据库

 mysqladmin -u root shutdown -p -S /usr/local/mysql/data3306/mysql.sock 

相关文章:

  • 端到端观测分析:从前端负载均衡到后端服务
  • 前端封装WebSocket工具n
  • 【XR】MR芯片 和 VR芯片之争
  • 函数调用及Chain——SQL+GLM
  • Java 中的 设计模式详解
  • Linux容器大师:K8s集群部署入门指南
  • 【开源工具】Python打造智能IP监控系统:邮件告警+可视化界面+配置持久化
  • 扣子智能体3:进行音乐创作
  • Axure疑难杂症:中继器制作下拉菜单(多级中继器高级交互)
  • 【Dockerfile】Dockerfile打包Tomcat及TongWeb应用镜像(工作实践踩坑教学)
  • 阿里云服务迁移实战: 07-其他服务迁移
  • 【IP101】图像处理基础:从零开始学习颜色操作(RGB、灰度化、二值化、HSV变换)
  • 详细说明C++ 中的左值、右值与移动语义
  • nginx 配置要领
  • Spring Boot 数据库最佳实践:从自动配置到高性能优化
  • 2025东三省D题深圳杯D题数学建模挑战赛数模思路代码文章教学
  • LeetCode167_两数之和 Ⅱ - 输入有序数组
  • 大连理工大学选修课——机器学习笔记(6):决策树
  • 通过IP计算分析归属地
  • 2025年“深圳杯”数学建模挑战赛A题-芯片热弹性物理参数估计
  • 八成盈利,2024年沪市主板公司实现净利润4.35万亿元
  • 十二届上海市委第六轮巡视全面进驻,巡视组联系方式公布
  • 国务院安委办、应急管理部进一步调度部署“五一”假期安全防范工作
  • 龚惠民已任江西省司法厅党组书记
  • 【社论】法治是对民营经济最好的促进
  • 抗美援朝老战士宁昭逝世,享年93岁