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

推荐订阅源

L
LangChain Blog
C
Check Point Blog
博客园 - Franky
V
Visual Studio Blog
云风的 BLOG
云风的 BLOG
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
V2EX - 技术
V2EX - 技术
AI
AI
Hacker News - Newest:
Hacker News - Newest: "LLM"
Jina AI
Jina AI
S
Security @ Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
H
Hacker News: Front Page
H
Hackread – Cybersecurity News, Data Breaches, AI and More
O
OpenAI News
Attack and Defense Labs
Attack and Defense Labs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
爱范儿
爱范儿
H
Heimdal Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
G
Google Developers Blog
G
GRAHAM CLULEY
V
V2EX
The Register - Security
The Register - Security
人人都是产品经理
人人都是产品经理
B
Blog RSS Feed
Schneier on Security
Schneier on Security
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
Help Net Security
Help Net Security
大猫的无限游戏
大猫的无限游戏
C
CERT Recently Published Vulnerability Notes
The GitHub Blog
The GitHub Blog
V
Vulnerabilities – Threatpost
The Last Watchdog
The Last Watchdog
J
Java Code Geeks
S
Secure Thoughts
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
量子位
NISL@THU
NISL@THU
K
Kaspersky official blog
Engineering at Meta
Engineering at Meta
T
Threatpost
Recent Commits to openclaw:main
Recent Commits to openclaw:main
宝玉的分享
宝玉的分享
Security Latest
Security Latest
T
The Exploit Database - CXSecurity.com
博客园_首页
A
Arctic Wolf

博客园 - 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 &