惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
aimingoo的专栏
aimingoo的专栏
I
InfoQ
C
Check Point Blog
IT之家
IT之家
MyScale Blog
MyScale Blog
Apple Machine Learning Research
Apple Machine Learning Research
Vercel News
Vercel News
Last Week in AI
Last Week in AI
GbyAI
GbyAI
P
Proofpoint News Feed
量子位
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
人人都是产品经理
人人都是产品经理
B
Blog
T
The Blog of Author Tim Ferriss
H
Help Net Security
云风的 BLOG
云风的 BLOG

博客园 - likingzi

数据库IO性能优化思考 RAID10和RAID5性能对比测试 迁移MySQL数据到Oracle实践记录 瀚高数据库不同版本对实例级用户的支持情况 使用benchmarksql测试数据库处理能力 BigCloud Enterprise Linux 8和Rocky Linux 8升级OpenSSH步骤 【翻译】凝视深渊:千核并发控制的评估 NFS使用TrueNAS SCALE的好处 linux 手动释放内存 linux8安装oracle 11g遇到的问题记录 ARM架构鲲鹏主机BClinux离线安装docker步骤 ORA-01658创建表或索引报错分析 MySQL PXC 集群死锁分析案例 记录一下oracle 19c的集群节点移除、新增操作 MySQL PXC集群多个节点同时大量并发update同一行 MongoDB集群同步 【最佳实践】MySQL数据库迁移到PXC集群 MySQL PXC集群配置IPv6 【实操记录】MySQL主从配置 MongoDB分片+副本集高可用集群的启停步骤
【实操记录】MySQL二进制安装包部署
likingzi · 2024-07-12 · via 博客园 - likingzi

截至2023年11月2日,MySQL社区版最新版本是8.0.35,本文详细描述了采用二进制安装的各个步骤,具有较强的参考意义,基本可作为标准步骤实施。

■ 下载数据库介质

社区版的下载地址为oracle官网:
https://dev.mysql.com/downloads/
根据os版本选择适当的介质,二进制安装方式需下载适配os内核的tar包:
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz
注意安装介质需根据os的glibc版本选择相应的链接。

■ 准备工作

主机配置yum源以便于安装各类软件;配置好时间同步;关闭防火墙;关闭selinux

■ 修改可打开的文件数、进程数

cat >> /etc/security/limits.conf << EOF
* soft nproc 3072
* hard nproc 16384
* soft nofile 4096
* hard nofile 65536
* soft stack 10240
EOF

ulimit -u 16384 -n 65536

■ 确认如下依赖包已安装

yum install libaio

■ 创建mysql用户及用户组

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

■ 解压缩二进制安装包

cd /usr/local
tar xvf /tmp/mysql-8.0.35-linux-glibc2.17-x86_64.tar.xz

■ 创建一个mysql链接

ln -s mysql-8.0.35-linux-glibc2.17-x86_64 mysql

■ 修改环境变量

echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
source /etc/profile

■ 准备数据目录

export MYPATH=/home/mysql
mkdir -p ${MYPATH}/data
chown -R mysql.mysql ${MYPATH}

■ 准备日志目录、socket目录、pid目录

确保这些目录存在且归属mysql用户,这些目录对应配置文件的如下参数:
socket=/tmp/mysql.sock
log-error=/home/mysql/mysqld.log
pid-file=/home/mysql/mysqld.pid

■ 修改配置文件

如下是一个标准的配置文件,可参考

vim /etc/my.cnf
[mysqld]
datadir=/home/mysql/data
#视情况设置缓存大小,比如设置为OS内存的60%
innodb_buffer_pool_size=20000000000
#设置表名大小写不敏感
lower_case_table_names=1
max_allowed_packet=200M
socket=/tmp/mysql.sock
symbolic-links=0
log-error=/home/mysql/mysqld.log
pid-file=/home/mysql/mysqld.pid
#如下id建议设置为ip最后一段
server_id = 241
log_bin= master-bin
binlog_format = ROW
log_slave_updates = on
expire_logs_days = 7
max_binlog_size = 2G

■ 初始化数据库

【注:初始化只需执行一次,后续执行会自动退出】
mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql

■ 第一次登入,需修改root密码

root初始密码位于log文件,搜索temporary可见:
grep temporary /var/log/mysqld.log
执行以下脚本按照提示设置新密码:
mysql_secure_installation

■ 关闭数据库

mysqladmin -u root -p shutdown

■ 启动数据库

mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &