MySQL编译安装-麒麟V10 x86

环境信息

操作系统: Kylin Linux Advanced Server V10 (Sword)
架构:X86
MySQL版本:5.7.44

编译

  • 安装必要的依赖库和编译工具
sudo yum groupinstall 'Development Tools'
sudo yum install cmake ncurses-devel openssl-devel boost-devel libtirpc libtirpc-devel rpcgen
  • 下载 MySQL 源码

从 MySQL 官方网站或 GitHub 仓库下载 MySQL 的源码包。

 
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44.tar.gz
tar -xzvf mysql-5.7.44.tar.gz
cd mysql-5.7.44
  • 配置 CMake 选项

使用 CMake 配置 MySQL 的构建选项。可以根据需要进行定制,例如指定安装目录、禁用不需要的功能等。

 
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc/mysql \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_BOOST=boost

-DCMAKE_INSTALL_PREFIX:指定 MySQL 的安装目录。
-DMYSQL_DATADIR:指定数据存储目录。
-DSYSCONFDIR:指定配置文件目录。
-DWITH_SSL 和 -DWITH_ZLIB:指定使用系统的 SSL 和 Zlib 库。
-DDEFAULT_CHARSET 和 -DDEFAULT_COLLATION:设置默认字符集和校对规则。
-DWITH_BOOST:指定 Boost 库的位置。

关于Boost 库报错导致编译失败问题

Boost 是 MySQL 编译的必需依赖库之一。为了继续编译,CMake 需要知道 Boost 库的位置。

解决方法
选择以下两种方法之一来解决这个问题:

方法 1: 自动下载并使用 Boost 库
可以让 CMake 自动下载并使用 Boost 库。这个方法较为简单,CMake 会自动为你下载并配置 Boost 库。

 
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc/mysql \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost
-DDOWNLOAD_BOOST=1:让 CMake 自动下载 Boost 库。
-DWITH_BOOST=/usr/local/boost:指定 Boost 库将被下载并存储的目录。可以根据需要选择不同的路径。

方法 2: 手动下载并指定 Boost 库路径
你也可以手动下载 Boost 库,并将其路径指定给 CMake。

下载 Boost 库:

 
wget https://boostorg.jfrog.io/artifactory/main/release/1.59.0/source/boost_1_59_0.tar.gz
tar -xzf boost_1_59_0.tar.gz

在配置 CMake 时指定 Boost 路径:

 
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc/mysql \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_BOOST=/path/to/boost_1_59_0

将 /path/to/boost_1_59_0 替换为你实际解压 Boost 的路径。

  • 编译和安装

在配置成功后,使用 make 和 make install 命令编译并安装 MySQL。

 
make
sudo make install

安装

  • 创建用户

创建mysql用户和组,mysql用户不能登录系统选项,不创建用户的主目录。

 
groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql
  • 上传至服务器并安装

注意:服务器需要自己挂盘,建议统一挂载到/data目录

 
#解压安装包提取文件内容到/data目录
tar -xvf mysql-5.7.44-x86.tgz -C /usr/local/mysql
#创建数据目录
mkdir /data/mysql_data /data/mysql_tmp /data/mysql_logs
#给目录授权
chown -R mysql:mysql  /data/mysql_data /data/mysql_tmp  /data/mysql_logs
  • 配置mysql

创建 MySQL 配置文件(如 /etc/my.cnf),并根据需要进行定制。

 
vim /etc/my.cnf
[client]
# 客户端连接 MySQL 服务器的端口号,通常是 3306。
port = 3306
# MySQL 服务器的套接字文件路径,用于本地连接。
socket = /dev/shm/mysql.sock
[mysqld]
# MySQL 服务器监听的端口号,通常也是 3306。
port = 3306
# MySQL 服务器的套接字文件路径,用于本地连接。
socket = /dev/shm/mysql.sock
# MySQL 的根目录路径,通常用于安装 MySQL 的根目录。
basedir = /usr/local/mysql
# 存放数据库文件的目录路径。
datadir = /data/mysql_data
# 启用binglog日志文件,可以指定目录,如果不指定则放在数据目录下面
log_bin = mysql-bin
#存放 MySQL 进程 ID 的文件路径。
pid-file = /data/mysql_data/mysql.pid
#错误日志路径
log_error = /data/mysql_logs/mysql-error.log
#慢查询sql日志路径
slow_query_log_file = /data/mysql_logs/mysql-slow.log
#临时数据路径
tmpdir=/data/mysql_tmp
#设置默认时区
default_time_zone = '+08:00'
#设置日志默认时区
log_timestamps = SYSTEM
#MySQL 服务器运行时使用的用户(通常是 "mysql" 用户)
user = mysql
#用于指定 MySQL 服务器绑定的 IP 地址,0.0.0.0 表示绑定到所有可用的 IP 地址。
bind-address = 0.0.0.0
# MySQL 服务器的唯一标识符,用于主从复制等。
server-id = 1
# 连接到 MySQL 服务器时初始化 SQL 命令。
init-connect = 'SET NAMES utf8mb4'
# 服务器默认的字符集。
character-set-server = utf8mb4
#skip-name-resolve
#skip-networking
#允许在内核中等待的连接数量
back_log = 300
# 允许的最大并发连接数。
max_connections = 5000
# 最大连接错误数
max_connect_errors = 1000
# 打开的文件数限制。
open_files_limit = 65535
# 表缓存大小。
table_open_cache = 128
# 单个查询的最大允许数据包大小
max_allowed_packet = 4M
# 二进制日志缓存大小
binlog_cache_size = 1M
# 最大堆表大小
max_heap_table_size = 8M
# 临时表大小
tmp_table_size = 16M
# 读取缓冲区大小
read_buffer_size = 2M
# 随机读取缓冲区大小
read_rnd_buffer_size = 8M
# 排序缓冲区大小
sort_buffer_size = 8M
# 连接缓冲区大小
join_buffer_size = 8M
# 键缓冲区大小
key_buffer_size = 4M
# 线程缓存大小
thread_cache_size = 8
# 查询缓存类型 (1 表示启用)
query_cache_type = 1
# 查询缓存大小
query_cache_size = 8M
# 查询缓存限制
query_cache_limit = 2M
# 全文索引最小词长度
ft_min_word_len = 4
# 二进制日志文件的格式
binlog_format = mixed
# 二进制日志文件自动清理天数
expire_logs_days = 30
# 单个binlog最大大小
max_binlog_size =1G
# 启用慢查询日志 (1 表示启用)
slow_query_log = 1
# 定义慢查询的阈值时间
long_query_time = 1
# 性能模式 (0 表示禁用)
performance_schema = 0
# 明确指定 MySQL 是否应该使用严格的模式来检查日期和时间值
explicit_defaults_for_timestamp
# 表名大小写不敏感 (1 表示启用)
lower_case_table_names = 1
# 禁用外部锁定,用于控制表级锁定
skip-external-locking
# 默认存储引擎 (InnoDB)
default_storage_engine = InnoDB
# 默认存储引擎 (MyISAM)
#default-storage-engine = MyISAM
# 每个表使用单独的 InnoDB 文件
innodb_file_per_table = 1
# InnoDB 可以打开的最大文件数
innodb_open_files = 500
# InnoDB 缓冲池大小
innodb_buffer_pool_size = 64M
# InnoDB 写 I/O 线程数
innodb_write_io_threads = 4
# InnoDB 读 I/O 线程数
innodb_read_io_threads = 4
# InnoDB 线程并发度
innodb_thread_concurrency = 0
# InnoDB 清理线程数
innodb_purge_threads = 1
# InnoDB 日志刷新行为
innodb_flush_log_at_trx_commit = 2
# InnoDB 日志缓冲大小
innodb_log_buffer_size = 2M
# InnoDB 日志文件大小
innodb_log_file_size = 32M
# InnoDB 日志文件组数
innodb_log_files_in_group = 3
# InnoDB 最大脏页百分比
innodb_max_dirty_pages_pct = 90
# InnoDB 锁等待超时时间
innodb_lock_wait_timeout = 120
# 批量插入缓冲区大小
bulk_insert_buffer_size = 8M
# 交互超时时间
interactive_timeout = 28800
# 等待超时时间
wait_timeout = 28800
[mysqldump]
quick
# mysqldump 最大允许数据包大小
max_allowed_packet = 100M
  • 添加环境变量
 
vim /etc/profile
# 在尾部添加
export MYSQL_HOME=/data/mysql
export PATH=$PATH:$MYSQL_HOME/bin
  • 初始化 MySQL 数据目录

安装完成后,需要初始化 MySQL 数据目录并设置 root 密码。

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

初始化完成后,记下生成的临时 root 密码,稍后将用于登录 MySQL。

  • 启动 MySQL

设置 MySQL 为系统服务,并启动 MySQL。

 
sudo cp support-files/mysql.server /etc/init.d/mysql
sudo systemctl enable mysql
sudo systemctl start mysql
  • 修改MySQL密码,并允许远程连接
#先免密登录
mysql -u root
#使用mysql库
use mysql;
#更新root密码
update user set authentication_string=password("你的密码") where user="root";
#赋予所有IP都可以使用root用户远程连接的权限
grant all privileges  on *.* to root@'%' identified by "你的密码";
#刷新权限配置
flush privileges;
#退出mysql
exit
  • 验证安装

通过登录 MySQL 来验证安装是否成功。

 
/usr/local/mysql/bin/mysql -u root -p

输入新设置的 root 密码后,进入 MySQL 命令行界面。如果成功进入,说明 MySQL 编译安装完成。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 麒麟v10是一种基于Linux操作系统的服务器操作系统,其设计目标是为了提供稳定、安全、高效的服务。MySQL是一款开源的关系型数据库管理系统,它具有高效且可靠的性能,因此在麒麟v10编译安装MySQL 5非常常见。 如果您想在麒麟v10编译安装MySQL 5,有几个步骤需要您遵循。首先,您需要准备好MySQL 5的源代码包以及相关的依赖库。然后,您需要在终端打开麒麟v10的命令行界面,并执行以下命令: 1. 解压MySQL 5的源代码包: $ tar zxvf mysql-5.7.32.tar.gz 2. 进入MySQL 5的源代码目录,并执行以下命令: $ cd mysql-5.7.32 $ cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 3. 执行以下命令进行编译: $ make && make install 4. 配置MySQL 5的运行环境以及启动服务: $ groupadd mysql $ useradd -r -g mysql mysql $ chown -R mysql:mysql /usr/local/mysql $ cd /usr/local/mysql $ ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data $ cp support-files/mysql.server /etc/init.d/mysql $ chmod +x /etc/init.d/mysql 5. 启动MySQL 5服务: $ service mysql start 以上是在麒麟v10编译安装MySQL 5的基本步骤。在实际操作中,您还需要进行一些配置,例如设置MySQL的密码、修改配置文件等等,以使MySQL 5能够正确地运行并适应您的具体需求。总之,麒麟v10编译安装MySQL 5是一项比较复杂的任务,需要您有一定的Linux系统和MySQL使用经验。如果您遇到了问题,可以查阅相关的文档或寻求专业的支持。 ### 回答2: 麒麟v10是一款基于Linux操作系统的服务器,要想在麒麟v10编译安装MySQL 5,需要按照以下步骤进行: 第一步:安装依赖项 首先要确保麒麟v10已经安装了一些必备软件,如gcc编译器、make、cmake等,如果没有安装可以使用以下命令进行安装: sudo apt-get install gcc make cmake libncurses5-dev 第二步:下载MySQL源代码 在MySQL官网下载MySQL 5的源代码,保存到服务器上的任意目录。 第三步:创建MySQL用户和组 在系统中创建MySQL用户和组,使用以下命令: sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql 第四步:编译安装MySQL 进入MySQL源代码所在目录,使用以下命令进行编译安装: cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1 make && sudo make install 第五步:启动MySQL 执行以下命令启动MySQL服务: sudo /usr/local/mysql/bin/mysqld_safe --user=mysql & 以上是在麒麟v10编译安装MySQL 5的大致步骤,需要注意的是,编译过程可能会出现一些问题,需要根据具体情况进行解决。同时也建议使用已经编译好的二进制版本,更加方便快捷。 ### 回答3: 麒麟v10是一款基于Linux的操作系统,可以通过编译安装mysql5来搭建数据库服务器。 首先,需要下载mysql5的源码包,并解压到指定的目录中,如 /usr/local/src/mysql5。 接着,安装必要的依赖库,包括gcc、cmake、ncurses等。可以使用以下命令: yum install gcc cmake ncurses 然后,进入mysql5源码目录,并执行以下命令进行编译: cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5 -DMYSQL_DATADIR=/usr/local/mysql5/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_DEBUG=0 -DWITH_ZLIB=system 接下来,使用make命令进行编译,需要耐心等待一段时间。完成后,使用make install命令将mysql安装到指定目录中,如/usr/local/mysql5。 最后,执行以下命令进行数据库初始化,并启动mysql服务: cd /usr/local/mysql5 ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql5 --datadir=/usr/local/mysql5/data ./bin/mysqld_safe --user=mysql & 以上就是在麒麟v10操作系统中编译安装mysql5的详细步骤。需要注意的是,这里只是一个基本的安装流程,实际情况中可能会涉及到更多的配置和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

!chen

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值