菜单

一Zhi小白
一Zhi小白
发布于 2025-05-17 / 90 阅读
0
1

【MySQL】Linux MySQL安装(源码包)5.x

前言

本文CSDN链接:【MySQL安装】Linux MySQL安装(源码包)5.x_mysql 源码包-CSDN博客

本文只针对 RHEL7 和 Centos 7 的Linux操作系统。

MySQL安装可以分为源码包安装和RPM安装。其中源码包可自定义安装目录,但安装速度较慢(需要编译);RPM安装为RPM默认安装目录,安装速度较快(二进制安装,快速部署快速使用)。MySQL 5.x系列 和 8.x 安装过程有部分差异,请根据需要选择安装的方式。

一、基础环境准备

  • 虚拟机:CentOS 7.9 x86_64 4核4G 内网IP:192.168.0.111

  • 宿主机:Win11

二、检查安装环境

1. 查询是否有mariadb相关rpm包

rpm -qa | grep mariadb

2. 移除所有mariadb rpm包

yum -y remove mariadb-libs-5.5.68-1.el7.x86_64

三、下载

1. 下载 mysql 源码包

https://www.mysql.com/

注意:需要下载带  Includes Boost Headers 的包

cd /usr/local/src
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.30.tar.gz

四、安装

1. 安装依赖库

yum -y install ncurses-devel libaio-devel gcc gcc-c++ glibc cmake autoconf openssl openssl-devel libstdc++*  libtool lrzsz 

 2. 创建用户以及相关目录

# 创建 mysql 用户,禁止登录
useradd -M -s /sbin/nologin mysql
# 创建数据目录
mkdir -p /usr/local/mysql/data
# 创建日志目录
mkdir -p /var/log/mysql/
# 创建tmp目录
mkdir -p /usr/local/mysql/tmp
# 创建sock文件
touch /usr/local/mysql/tmp/mysql.sock
# 赋予权限
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /var/log/mysql

3. 解压和编译

tar -zxvf mysql-boost-5.7.30.tar.gz

cd mysql-5.7.30/

注意:-DWITH_BOOST=/usr/local/src/mysql-版本号/boost/boost_版本,有可能boost版本不一定是1.59,那么需要自己查看一下。

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/src/mysql-5.7.30/boost/boost_1_59_0 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=system \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0

4. 编译和安装(时间较长,当前虚拟机为 4核 4G,粗略计算 1 小时左右)

make && make install

五、初始化

1. initialize 

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

  记录密码

2. 创建配置文件

vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/tmp/mysql.sock
pid-file=/usr/local/mysql/tmp/mysqld.pid
port=3306
character-set-server=utf8
log-error=/var/log/mysql/mysqld.log
 
 
[mysql]
default-character-set=utf8
socket=/usr/local/mysql/tmp/mysql.sock
 
[client]
default-character-set=utf8
socket=/usr/local/mysql/tmp/mysql.sock

六、启动测试

1. 启动

/usr/local/mysql/support-files/mysql.server start

 

2. 登录

/usr/local/mysql/bin/mysql -uroot -p'q8uG8EoJXf;V'

3. 修改密码

SET PASSWORD = PASSWORD('Flzx3qc@');
flush privileges;

 4. 查询版本和编码格式

select version();
show variables like '%character%';

5. 开启root远程登录

use mysql;
select host,user,plugin from user;
 
# if plugin == caching_sha2_password
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Flzx3qc@';
update user set host = '%' where user = 'root';
flush privileges;
 
# if plugin == mysql_native_password 
update user set host = '%' where user = 'root';
flush privileges;

6. 远程连接测试

七、配置环境变量

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

mysql -V

八、注册系统服务与开机自启动

1. 注册系统服务

vim /usr/lib/systemd/system/mysqld.service # 新建
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=https://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
systemctl daemon-reload

pkill -9 mysqld
 
systemctl start mysqld
 
systemctl status mysqld

2. 设置开机自启动

systemctl enable mysqld

3. 重启

reboot

systemctl status mysqld

结语

以上就是MySQL 5.x在Linux上使用源码包安装,希望可以帮到你。

💡 免责声明:本站发布的技术类内容具有一定的时效性,随着软件版本、平台政策或链接资源变化,文中部分内容可能不再适用。如遇差异,请结合实际环境进行分析判断。如您发现明显错误或过时信息,欢迎留言或反馈,我们会酌情更新。感谢理解!

转载请注明出处,致谢!


评论