MySQL-5.7.29 boost编译安装参考

MySQL-5.7.29版下载安装教程

一、下载MySQL数据库

  • 打开MySQL官网,选择DOWNLOADS
    在这里插入图片描述

  • 打开后一直下拉,点击 MySQL Community Server去选择常用的版本号

  • 在这里插入图片描述

  • 点击 looking for previous GA versions?,可以选择64位还是32位

  • 在这里插入图片描述

  • 根据需求选择版本,下载tar.gz文件(mysql5.7 编译安装需要boost 库,这里官网下载含boost的源码包)
    在这里插入图片描述

  • 下载地址参考

https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.29.tar.gz
https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
  • 删除mariadb
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
  • 关闭防火墙和selinux
systemctl status firewalld.service
systemctl stop firewalld.service && systemctl disable firewalld.service
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
cat /etc/selinux/config
  • 添加用户
groupadd mysql
useradd -g mysql -s /sbin/nologin -M mysql
  • 安装编译软件和依赖
yum upgrade
yum install -y cmake make gcc gcc-c++ wget ncurses-devel cmake make perl ncurses-devel openssl-devel bison-devel libaio libaio-devel
  • 建立所需目录并更改所有者为mysql
mkdir -p /snt/data/mysql/data
chown -R mysql:mysql /snt/data/mysql
  • 将下载好的mysql 解压到/snt/soft/mysql 目录下
tar -zxvf mysql-boost-5.7.29.tar.gz
  • 切换到mysql 目录下,编译安装
cd mysql-5.7.29/
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/snt/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_DATADIR=/snt/data/mysql/data -DWITH_BOOST=boost
make && make install

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u2XUfgAv-1634632634390)(http://192.168.10.61:9001/server/../Public/Uploads/2021-03-09/6046eb3a9d8f4.png)]

  • 报错
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yR5PrBA8-1634632634391)(http://192.168.10.61:9001/server/../Public/Uploads/2021-03-08/6045e6d1b87f2.png)]

  • 解决方法:安装openssl-devel

yum -y install openssl-devel
  • 继续安装
make && make install

配置

编辑/etc/my.cnf( 如果没有则创建)

[client]
port        = 3306
socket      = /tmp/mysql.sock

[mysqld]
port        = 3306
socket      = /tmp/mysql.sock
user = mysql


basedir = /snt/soft/mysql
datadir = /snt/data/mysql/data
pid-file = /snt/data/mysql/mysql.pid

log_error = /snt/data/mysql/data/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /snt/data/mysql/data/mysql-slow.log


skip-external-locking
key_buffer_size = 32M
max_allowed_packet = 1024M
table_open_cache = 128
sort_buffer_size = 768K
net_buffer_length = 8K
read_buffer_size = 768K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
thread_cache_size = 16
query_cache_size = 16M
tmp_table_size = 32M
performance_schema_max_table_instances = 1000

explicit_defaults_for_timestamp = true
#skip-networking
#max_connections = 500
#max_connect_errors = 100
#open_files_limit = 65535
#
#log_bin=mysql-bin
#binlog_format=mixed
#server_id   = 232
#expire_logs_days = 10
#early-plugin-load = ""
#
#default_storage_engine = InnoDB
#innodb_file_per_table = 1
#innodb_buffer_pool_size = 128M
#innodb_log_file_size = 32M
#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
#
#[myisamchk]
#key_buffer_size = 32M
#sort_buffer_size = 768K
#read_buffer = 2M
#write_buffer = 2M

以上配置内容非必须,可依据实际情况,做相应的调整!

  • 初始化mysql
cd ../bin/
./mysqld --initialize-insecure --user=mysql --basedir=/snt/soft/mysql/ --datadir=/snt/data/mysql/data

报错
在这里插入图片描述

  • /etc/my.cnf配置文件增加;创建缺少的log目录
[mysqld]

explicit_defaults_for_timestamp=true
mkdir -p /snt/mysql/mysql-5.7.29/log

注:到这一步很容易出问题,在初始化的时候一定要加上面的参数,而且在执行这一步操作前/data/mysql/data 这个目录必须是空的;在这里指定的basedir 和 datadir 目录必须要和/etc/my.cnf 配置的目录一直才行。

  • 拷贝可执行配置文件
cd ../support-files
cp mysql.server /etc/init.d/mysqld

启动

service mysqld start 

在这里插入图片描述

  • 报错

在这里插入图片描述

在/etc/my.cnf配置文件中,找到错误日志配置的信息

log_error = /snt/mysql/mysql-5.7.29/log/mysqld.log
vim /snt/mysql/mysql-5.7.29/log/mysqld.log
  • 查看mysql-error.log文件,会发现以下报错信息
    在这里插入图片描述

这种错误一般都是目录不存在或者权限不足,所以我们直接使用命令 mkdir -p 目录 创建该目录即可,然后可以设置目录权限 chown -R mysql:mysql /snt/mysql/mysql-5.7.29 。
在这里插入图片描述

  • 测试连接
cd ../bin/
./mysql -hlocalhost -uroot -p

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FK4WGW0R-1634632634401)(http://192.168.10.61:9001/server/../Public/Uploads/2021-03-09/60473f009ad1a.png)]无需密码即可连接成功

  • 修改环境变量
 在/etc/profile 中新增一行
PATH=/snt/mysql/bin:$PATH

保存退出
source /etc/profile

设置开机自启动
systemctl enable mysqld

参考文章:

https://blog.csdn.net/zhang_referee/article/details/88212695
https://www.cnblogs.com/NanZhiHan/p/11017158.html
https://www.cnblogs.com/lhh0419/p/9083133.html
https://www.cnblogs.com/yangchunlong/p/8477743.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在Linux系统上编译安装MySQL-5.7的步骤: 1.下载MySQL-5.7源码包: ``` wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.34.tar.gz ``` 2.解压缩源码包: ``` tar -zxvf mysql-5.7.34.tar.gz ``` 3.安装依赖库: ``` sudo apt-get install cmake libncurses5-dev libncursesw5-dev bison ``` 4.创建MySQL安装目录: ``` sudo mkdir /usr/local/mysql sudo chown -R `whoami` /usr/local/mysql ``` 5.编译MySQL源码: ``` cd mysql-5.7.34 cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci \ -DWITH_BOOST=/usr/local/boost_1_59_0 ``` 6.编译完成后,使用make命令进行编译: ``` make ``` 7.编译完成后,使用make install命令进行安装: ``` sudo make install ``` 8.设置MySQL配置文件: ``` sudo cp support-files/my-default.cnf /etc/my.cnf ``` 9.创建MySQL数据目录: ``` sudo mkdir /usr/local/mysql/data ``` 10.初始化MySQL: ``` sudo /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data ``` 11.启动MySQL服务: ``` sudo /usr/local/mysql/support-files/mysql.server start ``` 12.设置MySQL自启动: ``` sudo cp support-files/mysql.server /etc/init.d/mysql sudo chmod +x /etc/init.d/mysql sudo update-rc.d mysql defaults ``` 以上就是在Linux系统上编译安装MySQL-5.7的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值