Linux源码方式安装MySQL8.4.5

对于一些没有网络的环境, 需要使用源码方式安装MySQL. 下面介绍如何安装mysql8.4.5.

1. 下载安装包

地址: https://dev.mysql.com/downloads/mysql/
在这里插入图片描述

2. 解压

2.1 将下载的安装包传输到服务器上, 并解压

tar -xvf   mysql-8.4.5-linux-glibc2.17-x86_64.tar.xz
mv mysql-8.4.5-linux-glibc2.17-x86_64.tar.xz  /usr/local/mysql

2.2 创建配置文件
因为5.7 以后默认没有my.cnf了, 需要自己创建. /etc/my.cnf

 [client]  
default-character-set=UTF8MB4  
#password   = k0Ui&wV(Z3yt
port        = 3306 
socket      = /tmp/mysql.sock  
 
# Here follows entries for some specific programs  
 
# The MySQL server   
[mysqld]  
 
#配置mysql的文件夹 和 mysql data目录
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
default-storage-engine=INNODB  
character-set-server=UTF8MB4
port= 3306 
socket= /tmp/mysql.sock  
skip-external-locking  
key_buffer_size=16K  
max_allowed_packet=1M  
table_open_cache=4 
sort_buffer_size=64K  
read_buffer_size=256K  
read_rnd_buffer_size=256K  
net_buffer_length=2K  
thread_stack=128K  
  
server-id=1 
 
# Uncomment the following if you want to log updates  
#log-bin=mysql-bin  
 
# binary logging format - mixed recommended  
#binlog_format=mixed  
 
# Causes updates to non-transactional engines using statement format to be  
# written directly to binary log. Before using this option make sure that  
# there are no dependencies between transactional and non-transactional  
# tables such as in the statement INSERT INTO t_myisam SELECT * FROM  
# t_innodb; otherwise, slaves may diverge from the master.  
#binlog_direct_non_transactional_updates=TRUE  
 
# Uncomment the following if you are using InnoDB tables  
#innodb_data_home_dir = /usr/local/mysql/data  
#innodb_data_file_path = ibdata1:10M:autoextend  
#innodb_log_group_home_dir = /usr/local/mysql/data  
# You can set .._buffer_pool_size up to 50 - 80 %  
# of RAM but beware of setting memory usage too high  
#innodb_buffer_pool_size = 16M  
#innodb_additional_mem_pool_size = 2M  
# Set .._log_file_size to 25 % of buffer pool size  
#innodb_log_file_size = 5M  
#innodb_log_buffer_size = 8M  
#innodb_flush_log_at_trx_commit = 1 
#innodb_lock_wait_timeout = 50 
 
[mysqldump]  
quick  
max_allowed_packet = 16M  
 
[mysql]  
no-auto-rehash  
# Remove the next comment character if you are not familiar with SQL  
#safe-updates  
 
[myisamchk]  
key_buffer_size = 8M  
sort_buffer_size = 8M  
 
[mysqlhotcopy]  
interactive-timeout

授权

sudo chmod 664 /etc/my.cnf

3. 创建用户和用户组,并赋予权限

3.1 创建用户和用户组

groupadd mysql
useradd -g mysql mysql
chown -R mysql.mysql /usr/local/mysql

4. 初始化MySQL信息

4.1 进入/usr/local/mysql的bin目录

./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

这里会输出MySQL的临时密码, 需要保存下来

5. 添加MySQL到系统服务

5.1

cd /usr/local/mysql

cp -a ./support-files/mysql.server /etc/init.d/mysql

5.2 授权以及添加服务

chmod +x /etc/init.d/mysql

chkconfig --add mysql

5.3 启动命令

service mysql start
service mysql status
service mysql stop

6. 修改账户信息

6.1 修改root密码

mysql mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Ducy@2025';
flush privileges;

6.2 创建新用户以及授权

create user 'ducy'@'ip' IDENTIFIED BY 'Ducy@2025';
grant all privileges on *.* to 'ducy'@'ip';
flush privileges;

6.3 赋予最高权限(root)

grant all privileges on *.* to 'ducy'@'ip with grant option

7. 如果有旧版本的,通过源码安装的,需要卸载

find / -name mysql

删除涉及的mysql目录即可

<think>首先,用户的问题是:“我想在Linux系统上安装MySQL8.4.5请问how toinstall mysql8.4.5on linux”。我需要根据系统级指令来回答,包括使用正确的LaTeX格式、中文回答、生成相关问题等。 系统级指令:1.所有行内数学表达式使用$...$格式。2.独立公式使用$$...$$格式并单独成段。 3. LaTeX语法正确。4.使用中文回答。 5.生成相关问题。 6.回答中引用的段落末尾自然地添加引用标识,例如[^1]。用户可见层:-回答结构清晰,帮助用户逐步解决问题。-尽量保证回答真实可靠。-参考站内引用:这些引用提供了关于MySQL安装的信息,包括依赖问题、安装步骤等。站内引用内容:- [^1]:提到OracleLinux8 /Red Hat8缺少libtinfo.so.5,需要安装ncurses-compat-libs。- [^2]:提供下载、解压、安装MySQL8.4.5的具体步骤,包括卸载mariadb、安装依赖、安装rpm包。- [^3]:提到使用官方MySQL仓库选择不同的track。 -[^4]:关于高可用性设置,但不直接相关。 -[^5]:错误信息,关于运行mysqld作为root的问题。 用户的问题是安装MySQL8.4.5 onLinux,所以我需要基于引用[^2]来构建回答,因为[^2]直接描述了安装过程。同时,需要考虑引用[^1]中提到的依赖问题,如果用户使用的是OracleLinux8 /Red Hat8。 步骤: 1.确认系统:用户没有指定Linux发行版,所以我应该覆盖常见系统如CentOS/RHEL或类似。 2.安装过程:基于引用[^2],包括下载、解压、卸载冲突软件、安装依赖、安装rpm包。3.依赖问题:引用[^1]提到libtinfo.so.5缺失,需要ncurses-compat-libs,所以我应该在回答中包括这个。4.初始化:引用[^4]和[^5]提到初始化数据库和避免以root运行,所以我应该包括安全设置。 5.结构清晰:逐步指导用户。回答结构: -介绍:简要说明安装MySQL8.4.5的步骤。 -步骤1:准备系统,卸载冲突软件(如mariadb)。-步骤2:安装依赖包。 -步骤3:下载MySQL安装包。-步骤4安装rpm包。-步骤5:初始化MySQL和设置。 -步骤6:启动服务。 -注意事项:包括引用中提到的特定问题。-生成相关问题。 使用中文回答。LaTeX:用户问题中没有数学表达式,所以可能不需要使用LaTeX,但如果有数学内容,我会应用。例如,在描述路径或命令时,不需要LaTeX,除非有变量。但指令说“所有行内数学表达式”,所以如果没有数学内容,就不需要添加。引用标识:在回答中引用站内内容时,在段落末尾添加[^n]。例如,提到依赖问题时,引用[^1]。 生成相关问题:在回答结束后,添加“相关问题”部分。 完整回答框架: 1.开头:确认用户需求。 2.步骤详细说明。3.结尾:生成相关问题。基于引用[^2]:-下载安装包:wgethttps://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.5-1.el7.x86_64.rpm-bundle.tar-解压:mkdir-p/opt/mysql; tar-xvf ...-C/opt/mysql-卸载mariadb:rpm-qa| grepmariadb; rpm-e... -安装依赖:rpm -ivhcompat-openssl10...--nodeps(但引用中是针对ky10,可能不是通用;我应该建议通用依赖) -安装rpm包:按顺序安装common, icu-data-files, client-plugins,libs, client, server, libs-compat-初始化:mysql_install_db或 mysqld--initialize-启动服务:systemctl startmysqld-安全设置:设置root密码等。引用[^1]:对于EL8系统,需要安装ncurses-compat-libs。我应该建议使用官方仓库(引用[^3])作为替代方法,但用户指定了版本8.4.5,所以直接下载rpm包可能更直接。通用步骤: 1.检查系统:如果是RHEL/CentOS8安装ncurses-compat-libs。 2.卸载mariadb。 3.下载MySQL包。 4.安装依赖(如openssl)。5.安装MySQLrpm包。6.初始化数据库。 7.启动服务。 8.安全加固。 在回答中,逐步解释。</think>### 在Linux系统上安装MySQL 8.4.5的步骤指南 MySQL 8.4.5 是一款高性能的关系型数据库管理系统。在Linux安装时,需注意系统依赖、冲突软件处理和安全配置。以下步骤基于常见Linux发行版(如CentOS、RHEL或Oracle Linux)编写,确保结构清晰、真实可靠。安装过程涉及下载官方包、解决依赖问题,并初始化数据库。关键步骤参考了站内文档[^2][^1]。 #### 步骤1: 准备系统环境 在安装前,需卸载冲突软件并安装必要依赖: - **卸载MariaDB**(如果已安装):MariaDB可能与MySQL冲突。 ```bash rpm -qa | grep mariadb # 检查MariaDB包 rpm -e --nodeps mariadb-* # 强制卸载所有MariaDB相关包 ``` - **安装依赖包**: - 对于RHEL/CentOS/Oracle Linux 8系统:默认缺少`libtinfo.so.5`库,需安装`ncurses-compat-libs`[^1]。 ```bash yum install ncurses-compat-libs -y ``` - 通用依赖(如OpenSSL): ```bash yum install openssl openssl-devel compat-openssl10 -y # compat-openssl10针对旧系统兼容 ``` 确保系统更新:`yum update -y`。 #### 步骤2: 下载和解压MySQL安装包 从MySQL官方下载指定版本(8.4.5)的RPM包: ```bash wget https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.5-1.el7.x86_64.rpm-bundle.tar # 下载包 mkdir -p /opt/mysql # 创建解压目录 tar -xvf mysql-8.4.5-1.el7.x86_64.rpm-bundle.tar -C /opt/mysql # 解压到/opt/mysql cd /opt/mysql # 进入目录 ``` #### 步骤3: 安装MySQL RPM包 按顺序安装RPM包,避免依赖问题: ```bash rpm -ivh mysql-community-common-8.4.5-1.el7.x86_64.rpm rpm -ivh mysql-community-icu-data-files-8.4.5-1.el7.x86_64.rpm rpm -ivh mysql-community-client-plugins-8.4.5-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-8.4.5-1.el7.x86_64.rpm rpm -ivh mysql-community-client-8.4.5-1.el7.x86_64.rpm rpm -ivh mysql-community-server-8.4.5-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-8.4.5-1.el7.x86_64.rpm ``` - 如果遇到依赖错误,添加`--nodeps`参数(如`rpm -ivh ... --nodeps`),但建议优先解决依赖[^2]。 #### 步骤4: 初始化MySQL和配置 初始化数据库并设置安全选项: ```bash mysqld --initialize --user=mysql # 初始化数据目录,自动生成临时root密码(检查日志获取) chown -R mysql:mysql /var/lib/mysql # 设置权限 ``` - **安全注意事项**:不要以root用户运行mysqld,否则会导致错误(如`Fatal error: Please read "Security" section`[^5])。使用`--user=mysql`确保安全。 - 修改配置文件(可选):编辑`/etc/my.cnf`设置datadir等参数[^2]。 #### 步骤5: 启动MySQL服务并设置 启动服务并完成首次配置: ```bash systemctl start mysqld # 启动服务 systemctl enable mysqld # 设置开机自启 mysql_secure_installation # 运行安全脚本:设置root密码、移除匿名用户等 ``` - 验证安装: ```bash mysql -u root -p # 登录MySQL SHOW DATABASES; # 检查数据库列表 ``` #### 注意事项 - **系统兼容性**:上述步骤基于EL7(如CentOS 7),但适用于EL8系统(需额外安装`ncurses-compat-libs`[^1])。 - **替代方法**:可使用MySQL官方仓库安装(如`yum install mysql-community-server`),但需配置仓库track为`mysql-8.4-lts-community`以确保版本为8.4.x[^3]。 - **错误处理**:如果启动失败,检查`/var/log/mysqld.log`日志。常见问题包括权限错误或依赖缺失[^5]。 - **高可用性**:对于生产环境,可考虑Corosync+Pacemaker+DRBD设置[^4],但需额外配置。 ### 相关问题 1. MySQL 8.4.5安装后如何配置远程访问? 2. 在Ubuntu系统上安装MySQL 8.4.5的步骤有哪些不同? 3. 如何解决MySQL启动时遇到的“libtinfo.so.5缺失”错误? 4. MySQL的安全加固最佳实践是什么? 5. 如何备份和恢复MySQL 8.4.5数据库
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值