Centos7(最小化安装)系统源代码安装mysql5.7.44版本

25 篇文章 0 订阅
19 篇文章 0 订阅
官网下载mysql源代码安装包步骤(旧档案-版本下载方式)-CSDN博客

下载cmake操作步骤-CSDN博客

下载ncurses操作步骤-CSDN博客

下载bison操作步骤-CSDN博客

下载boost操作步骤-CSDN博客

安装之前由于是最小化安装centos7安装一些开发环境和工具包
文章使用国内阿里源
cd /etc/yum.repos.d/
curl -O https://mirrors.aliyun.com/repo/epel-7.repo
curl -O https://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum -y groupinstall "development tools" "base"

删除默认的mariadb-libs(centos7)

在centos7默认安装了mariadb-libs5.5*

与mariadb-libs有依赖关系的是postfix是用来做邮件服务器的。

rpm -e mariadb-libs --nodeps

安装编译mysql依赖软件

安装cmake-3.30.2

cd /usr/local/src/
wget https://github.com/Kitware/CMake/releases/download/v3.30.2/cmake-3.30.2.tar.gz
cd cmake-3.30.2

为避免出现以下情况安装cmake所需依赖包openssl-devel

yum -y install openssl-devel
./bootstrap && gmake && gmake install

安装ncurses-6.5

cd /usr/local/src/
wget https://invisible-island.net/archives/ncurses/ncurses-6.5.tar.gz
tar xf ncurses-6.5.tar.gz
./configure && make && make install

安装bison-3.8.2

cd /usr/local/src/
wget https://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.xz
tar xf bison-3.8.2.tar.xz
./configure && make && make install

安装boost-1.59.0

cd /usr/local/src/
wget https://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
tar xf boost_1_59_0.tar.gz
mv boost_1_59_0 /usr/local/boost

 源代码安装mysql5.7.44

创建mysql用户

useradd mysql -l

-l:选项会自动创建一个同名的组并添加用户在组里。

安装依赖软件包

yum -y install ncurses-devel
cd /usr/local/src/
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44.tar.gz
tar xf mysql-5.7.44.tar.gz
cd mysql-5.7.44/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql       -DMYSQL_DATADIR=/usr/local/mysql/data       -DSYSCONFDIR=/etc       -DDEFAULT_CHARSET=utf8       -DDEFAULT_COLLATION=utf8_general_ci       -DEXTRA_CHARSETS=all       -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock       -DWITH_MYISAM_STORAGE_ENGINE=1       -DWITH_INNOBASE_STORAGE_ENGINE=1       -DWITH_ARCHIVE_STORAGE_ENGINE=1       -DWITH_PARTITION_STORAGE=ENGINE=1       -DWITH_SYSTEMD=1       -DWITH_BOOST=/usr/local/boost       -DWITH_ZLIB=system

make && make install

 配置文件

cat <<jingyu>> /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=/usr/local/mysql/data/mysqld.pid
log-error=/usr/local/mysql/data/mysql.err
socket=/tmp/mysql.sock
jingyu
[mysqld]
# 数据目录
datadir=/usr/local/mysql/data
# socket 文件位置
socket=/tmp/mysql.sock
# 监听端口
port=3306
# InnoDB 缓冲池大小
innodb_buffer_pool_size=2G
# 最大连接数
max_connections=151
# 打开表缓存的数量
table_open_cache=200
# 二进制日志文件位置
log_bin=/var/log/mysql/mysql-bin.log
# 服务器 ID
server-id=1
# 二进制日志格式
binlog_format=ROW
# 二进制日志过期天数
expire_logs_days=10
# 慢查询日志文件位置
slow_query_log_file=/var/log/mysql/slow_queries.log
# 错误日志文件位置
log-error=/var/log/mysql/error.log
# 服务器默认字符集
character-set-server=utf8mb4
# 服务器默认校对规则
collation-server=utf8mb4_unicode_ci
# 禁止 DNS 反向解析
skip-name-resolve

[client]
# socket 文件位置
socket=/tmp/mysql.sock
# 默认字符集
default-character-set=utf8mb4

[mysql]
# 禁用自动重哈希
no-auto-rehash

[mysqldump]
# 快速备份模式
quick
# 最大数据包大小
max_allowed_packet=16M

[mysql_upgrade]
# 服务器的默认字符集
character_set_server=utf8mb4
# 服务器的默认校对规则
collation_server=utf8mb4_unicode_ci

添加永久环境变量

sed -i.bak '$aexport PATH=$PATH:/usr/local/mysql/bin' /etc/profile
source /etc/profile

初始化数据库仓库

mkdir -p /usr/local/mysql/data
mkdir -p /var/log/mysql/
chown -R mysql:mysql /var/log/mysql/
chown -R mysql:mysql /usr/local/mysql/

可以使用   mysqld --verbose --help|grep initialize   命令查看如何初始化mysql数据仓库

mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql --root-host=%

初始化数据库常见参数:

  1. 基础配置:

    • --initialize: 初始化数据库目录。
    • --initialize-insecure: 初始化数据库目录但不设置 root 密码(不推荐)。
  2. 数据目录和日志文件配置:

    • --datadir=/path/to/datadir: 指定数据文件所在的目录。
    • --innodb_data_home_dir=/path/to/innodb: 指定 InnoDB 数据文件所在的目录。
    • --log-error=/path/to/error.log: 指定错误日志文件的位置。
  3. 安全性配置:

    • --root-host=%: 允许 root 用户从任何主机连接。
    • --secure-auth: 禁用旧的密码加密方式。
  4. 性能配置:

    • --innodb-buffer-pool-size=size: 设置 InnoDB 缓冲池的大小。
    • --innodb-log-file-size=size: 设置单个 InnoDB 日志文件的大小。
  5. 日志配置:

    • --log-bin=/path/to/mysql-bin.log: 启用并指定二进制日志文件的位置。
    • --log-slave-updates: 在主从复制时记录 slave 更新事件。
  6. 网络配置:

    • --port=port: 设置 MySQL 服务监听的端口号。
    • --socket=/path/to/mysql.sock: 设置 Unix Socket 文件的位置。
  7. 其他配置:

    • --skip-networking: 不启动网络监听(仅允许本地连接)。
    • --user=mysql: 指定运行 MySQL 服务的用户。

添加为系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

修改启动脚本中的pid

sed -i.bak "42cPIDFile=/usr/local/mysql/data/mysqld.pid" /usr/lib/systemd/system/mysqld.service
sed -i "54cExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/data/mysqld.pid $MYSQLD_OPTS" /usr/lib/systemd/system/mysqld.service
systemctl daemon-reload
systemctl start mysqld

CentOS 系统安装 MySQL 5.7.44 的步骤如下: 1. **检查系统依赖**: 首先确保你的系统已经安装了 `wget` 和 `tar` 工具,可以使用以下命令检查: ``` yum install -y wget tar ``` 2. **下载 MySQL 安装包**: 访问 MySQL 的官方网站下载源码包,或者直接通过 wget 下载: ``` wget https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm ``` 如果需要最新版本,替换链接地址并下载。 3. **安装 MySQL 社区仓库**: 运行安装 MySQL 社区仓库的脚本: ``` sudo rpm -Uvh mysql57-community-release-el7-10.noarch.rpm ``` 4. **下载 MySQL 服务器**: ``` wget https://dev.mysql.com/get/mysql57-community-server-source.tar.gz ``` 5. **解压并配置 MySQL**: ``` tar xvfz mysql57-community-server-source.tar.gz cd mysql-5.7.44 ``` 进入解压后的目录,运行 `configure` 命令,编辑配置文件(如添加最大内存限制等),然后使用 `make` 编译。 6. **创建数据目录和初始化数据库**: ``` mkdir -p /var/lib/mysql chown mysql:mysql /var/lib/mysql chmod 755 /var/lib/mysql mysql_install_db --datadir=/var/lib/mysql --tmpdir=/tmp ``` 7. **启动服务并设置开机自启**: ``` sudo systemctl start mysqld sudo systemctl enable mysqld ``` 8. **安全配置**: 使用 root 用户登录 MySQL 并创建新用户、设置密码以及更新权限: ``` mysql_secure_installation ``` 9. **验证安装**: 登录到 MySQL 使用 `mysql -u root -p`,如果一切正常,你应该能看到欢迎消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jingyu飞鸟

醒来觉得甚是爱你。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值