mysql5.7.44 arm 源码编译安装

一、:下载源码:mysql官网:MySQL :: MySQL Downloads

        

#####下载mysql安装包 :
网址:https://www.mysql.com/
可在页面下载后上传或直接下载。
官网地址首页,拉到最底部,找到社区版本下载:
[root@localhost home]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-5.7.44.tar.gz
[root@localhost home]# tar -zxvf mysql-boost-5.7.44.tar.gz######boost安装包
网址:http://www.boost.org/users/download/
安装mysql5.7及以上版本,要依赖boost, 
5.744需要1.59.0版本
[root@localhost home]# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
[root@localhost home]# tar -zxf boost_1_59_0.tar.gz 
[root@localhost home]# mv boost_1_59_0/ /usr/local/####### 下载必备编译工具插件及依赖
yum install -y gcc gcc-c++
yum install -y glibc libtool
yum install -y make cmake
yum install -y ncurses ncurses-devel 
yum install -y libtirpc libtirpc-devel 
yum install -y libarchive
yum install -y openssl openssl-devel
yum install -y rpcgen---
yum install -y libaio libaio-devel
yum install -y bison-devel bison perl perl-devel

2:卸载原有的数据库文件

####卸载mariadb、mysql[root@mysql5 ~]# rpm -qa mariadb*
//mariadb-libs-5.5.44-2.el7.centos.x86_64
[root@template tools]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
[root@template tools]# rpm -qa | grep mariadb#####系统环境:
[root@mysql5 ~]# cat /etc/redhat-release 
//CentOS Linux release 7.2.1511 (Core) 
[root@mysql5 ~]# uname -r
//3.10.0-327.el7.arm

二、编译安装mysql

#####文件目录创建
mkdir -p /home/data/mysql        # mysql安装路径
mkdir -p /home/data/mysql_data   # mysql数据路径
mkdir -p /home/data/mysql_tmp    # mysql缓存路径
mkdir -p /home/data/mysql_log    # mysql日志路径
mkdir -p /var/run/mysql          # mysql pid路径
mkdir -p /var/log/mysql          # mysql log路径#####配置文件位置
/etc/my.ini
服务文件位置
/etc/init.d/mysqld  (复制于/home/data/mysql/support-files/mysql.server)
######添加mysql用户和用户组
先检查 mysql 用户和用户组有没有被使用
cat /etc/group | grep mysql
cat /etc/passwd | grep mysqlsudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
注意:
-s /sbin/nologin 用户不能登录系统
-M 不创建用户的home家目录
-g 指定用户登录组的gid或组名####编译及安装#进入mysql解压目录执行cmake 命令,成功后依次执行编译及安装make & make install 
cmake编译参数:需为同一行,具体路径请自行更改
cmake \
-DCMAKE_INSTALL_PREFIX=/home/data/mysql \
-DMYSQL_DATADIR=/home/data/mysql_data \
-DWITH_BOOST=/usr/local/boost_1_59_0 \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DTRACE=0 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EMBEDDED_SERVER=1注:-DWITH_BOOS参数就是第四步骤的解压后路径,注意要写到boost目录, 说明:如果编译出错,没有通过,检测参数后重新运行配置,需要删除CMakeCache.txt文件
# make clean
# rm -f CMakeCache.txt参数从哪里找:http://www.mysql.com→→Documentation→→选择对应的版本(5.7)Installation & Upgrades→→Installing MySQL from Source →→MySQL Source-Configuration Options直接点击url: https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

三、mysql 具体配置

3.1 my.cnf 默认是没有的,需要手动输入//编辑/etc/my.conf文件
#/etc/my.cnf,仅供参考(用于生产还需要调优)
[mysqld]
basedir = /home/data/mysql
datadir = /home/data/mysql_data
tmpdir = /home/data/mysql_tmp
log-error = /home/data/mysql_log/error.log
#pid-file = /home/data/mysql/data/my.pid
port = 3306default_storage_engine = InnoDB
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'innodb_autoinc_lock_mode = 2
lower_case_table_names = 1character-set-client-handshake = FALSE
character_set_server = utf8mb4
skip-name-resolve
max_connections=2000
max_connect_errors = 1000000
max_allowed_packet = 1Gexplicit_defaults_for_timestamp = true
default-time_zone='+8:00'
innodb_log_file_size = 2000M
innodb_log_buffer_size = 2000M
innodb_strict_mode = 0
connect_timeout = 3600
wait_timeout = 8600
interactive_timeout = 3600
innodb_lock_wait_timeout = 10slave-skip-errors  = 1032,1062slow_query_log = on
slow_query_log_file = /home/data/mysql_log/slow-query-log.log
long_query_time = 1
log-queries-not-using-indexes
log-slow-admin-statements
log-slow-slave-statementsserver-id = 100
log-bin = log-bin
binlog-format = ROW

3.2 编辑环境变量

3.2 编辑环境变量
[root@localhost ~]# vi /etc/profile
#行尾添加
export PATH=$PATH:/home/data/mysql/bin/[root@localhost ~]# source /etc/profile3.3 添加配置文件、设置开机自启#添加配置文件
[root@localhost home]# cp /home/data/mysql/support-files/mysql.server  /etc/init.d/mysqld#设置开机自启
[root@localhost home]# chmod +x /etc/init.d/mysqld
[root@localhost home]# chkconfig --add mysqld
[root@localhost home]# chkconfig mysqld onsystemctl enable mysqld.service成功后可用 systemctl start mysqld 来启动。3.4  赋权chown -R mysql:mysql /home/data/mysql
chown -R mysql:mysql /home/data/mysql_data3.5 初始化cd /home/data/mysql/bin
##5.6./mysql_install_db  --initialize-insecure  --user=mysql  --defaults-file=/etc/my.cnf
--basedir=/home/data/mysql --datadir=/home/data/mysql_data ##5.7
./mysqld  --initialize-insecure  --user=mysql  --basedir=/home/data/mysql --datadir=/home/data/mysql_data启动:service mysqld start3.6 更改密码(1)以管理员身份打开“命令行窗口”,输入mysql -uroot -p并按下回车键(2)在弹出Enter password: 时,继续按下回车键,即可登录mysql(3)输入命令use mysql;(4)输入命令ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; (注意末尾要有分号)(5)输入命令flush privileges; (6)输入命令exit;(7) 测试密码
3.7 开通远程访问权限1.改表法:
如果你的MySQL帐号仅允许在本地登陆,而不允许远程登陆,你可以通过更改 \mysql\ 数据库中的\user\ 表来修改 \host\ 项。-在本地MySQL中,执行以下命令:
mysql -u root -p
-进入 \mysql\ 数据库:
use mysql;
-修改 \user\ 表中的 \host\ 项,将 \localhost\ 改为 %\ (表示任何主机):
update user set host = '%' where user = 'root';
-查询修改后的 \host\ 和 \user\ 信息:
select host, user from user;2.授权法:
通过授权,你可以指定允许远程连接MySQL的用户和主机。-如果要允许名为 myuser 的用户使用密码 mypassword 从任何主机连接到MySQL服务器,执行以下命令:
GRANT ALL PRIVILEGES ON . TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;-如果要允许用户 myuser 从IP为 192.168.1.6 的主机连接到MySQL服务器,使用密码 mypassword,执行以下命令:
GRANT ALL PRIVILEGES ON . TO 'myuser'@'192.168.1.6' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;3.使修改生效:
在修改授权后,需要刷新MySQL权限,使修改生效:
FLUSH PRIVILEGES;4.退出MySQL服务器:
当完成所有配置后,退出MySQL服务器:EXIT;通过以上步骤,你就可以允许远程主机以指定用户的身份连接到MySQL服务器了。查看端口:  ss -lntup|grep 3306
查看mysql默认密码: cat /root/.mysql_secret #############防火墙#####Linux系统通常使用iptables或firewalld作为防火墙来控制网络流量。本文将介绍如何在两种防火墙下添加端口。使用iptables添加端口
iptables是Linux内核中提供的防火墙,可以用来控制进出系统的网络流量。添加端口步骤:查看当前iptables规则:
iptables -L
添加端口规则:
iptables -A INPUT -p tcp --dport 端口号 -j ACCEPT
例如,添加80端口(HTTP服务):iptables -A INPUT -p tcp --dport 80 -j ACCEPT
参数说明:-A INPUT:将规则添加到INPUT链中。INPUT链用于控制进入系统的网络流量。
-p tcp:指定协议为TCP。
--dport 端口号:指定端口号。
-j ACCEPT:接受该规则匹配的流量。
保存iptables规则:
iptables-save
注意:添加iptables规则后,需要重启防火墙服务才能使规则生效。
iptables规则是临时的,系统重启后会消失。要永久保存规则,需要使用iptables-save命令将规则保存到配置文件中。
使用firewalld添加端口
firewalld是CentOS 7等系统默认使用的防火墙,可以提供更友好的管理界面。添加端口步骤:查看当前firewalld规则:
firewall-cmd --list-all
添加端口规则:
firewall-cmd --permanent --add-port=端口号/tcp
例如,添加80端口(HTTP服务):firewall-cmd --permanent --add-port=80/tcp
参数说明:--permanent:将规则永久保存。
--add-port=端口号/tcp:添加端口号和协议。
重新载入firewalld规则:
firewall-cmd --reload
注意:添加firewalld规则后,需要重新载入规则才能使规则生效。
firewalld规则是永久的,即使系统重启后也会保留。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/460788.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BatchNorm推理阶段和Conv合并

BatchNorm推理阶段和Conv合并 本文全文来自: https://www.cnblogs.com/xiaxuexiaoab/p/16422640.html。 只只作为自己的复习使用,不作他用。 BN层作用 批量归一化(Batch Normalization,BN)在深度学习中常放在卷积层之…

第二十章 Vue组件通信之父子通信

目录 一、引言 二、组件关系分类 三、组件通信的解决方案 3.1. 父子通信流程图 3.2. 父组件通过 props 将数据传递给子组件 3.2.1. 代码App.vue 3.2.2. 代码MySon.vue 3.3. 子组件利用 $emit 通知父组件修改更新 ​编辑3.3.1. 代码App.vue 3.3.2. 代码MySon.vue 3…

对话瀚荃:为何欧美拟统一采用USB-C充电接口?

【哔哥哔特导读】英国、美国等地都准备统一电气设备充电标准,USB-C接口为何成为业界首选?选择USB-C连接器,又有什么注意事项? 近期,有消息指出英国、美国等地均启动了关于电气设备充电标准的咨询活动,希望听取制造商、进口商、…

如何解决RabbitMQ消息的重复消费问题

什么情况下会导致消息的重复消费——在消费者还没成功发送自动确认机制时发生: 网络抖动消费者挂了 解决方案 每条消息设置一个唯一的标识id幂等方案:【Redis分布式锁、数据库锁(悲观锁、乐观锁)】 面试官:如何解决…

vue中el-table显示文本过长提示

1.el-table设置轻提示:show-overflow-tooltip“true“,改变轻提示宽度

Couldn‘t apply path mapping to the remote file.

Couldn’t apply path mapping to the remote file. /s6home2/zjw524/projects/seq2seq/code/deepnmtpycharm/deepNmt/code/deepNmtPycharm/deepNmt/model/Deep_NMT_Model.py can’t be found in project. You can continue debugging, but without the source. To fix that yo…

Tech Talk: 浅谈AI浪潮下的计算型存储SSD

引言 近年来,AI应用态势迅猛增加,对计算侧的算力和内存提出了更高的要求。GPU、HBM这些高性能高密计算部件和内存部件,在AI计算场景中作为必需品,成为市场热点。业界也在讨论能否把计算侧的业务卸载到存储侧,称为计算…

华为配置 之 STP

目录 简介: STP: RSTP: 如何改变根网桥: (1)改变优先级: (2)改变root: 各端口的状态: 总结: 简介: STP(Spanning Tree Protoco…

大数据挖掘和数据挖掘有什么不一样?

一、数据挖掘: 数据挖掘(Data Mining)是指从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。 数据挖掘的概念起源于 20 世纪 80 年代后期&#xff0c…

活动|2024 CodeFuse 「编码挑战季」活动已开启!欢迎报名参加

Hi~开发者们,1024 程序员节快乐,向你们致敬! CodeFuse 开源一年多以来,受到众多开发者的欢迎。在 1024 程序员节之际,CodeFuse 发起「编码挑战季」活动,诚邀广大开发者们参与 muAgent、MFTCoder、ModelCach…

Linux上本地部署KubeSphere与cpolar实现远程管理和监控集群

文章目录 前言1. 部署KubeSphere2. 本地测试访问3. Linux 安装Cpolar4. 配置KubeSphere公网访问地址5. 公网远程访问KubeSphere6. 固定KubeSphere公网地址 前言 本文主要介绍如何在Linux CentOS搭建KubeSphere并结合Cpolar内网穿透工具,实现远程访问,根…

Chrome浏览器音/视频无法自动播放

背景:由于google的一些制度,我们在写html项目时会发现刷新页面时无法自动播放audio和video,即使你添加了autoplay属性也无济于事, 但是IE和Edge浏览器是可以自动播放的。 解决方案: 本人在网上搜寻了很多方法&#xf…

vue的路由的两种模式 hash与history 详细讲解

文章目录 1. Hash 模式工作原理优点缺点使用示例 2. History 模式工作原理优点缺点服务器配置示例使用示例 总结 Vue Router 是 Vue.js 的官方路由管理器,它支持多种路由模式,其中最常用的两种是 hash 模式和 history 模式。下面我们详细讲解这两种模式的…

什么是目标检测?

首先计算机视觉能够解决哪些问题?? 分类、检测、分割 首先以下面这幅图为例: 分类就是输入一张图像,算法能够告诉我们图像中有什么类别,比如说猫或者狗,而并不知道这个类别在图像中的位置,如…

转移概率矩阵的计算

目录 T1T2 T1 写出图示信道的转移概率矩阵,并指出其是否为对称信道。 解: 信道的转移概率矩阵 P ( Y ∣ X ) [ 0.99 0.01 0 0.005 0.99 0.005 0 0.01 0.99 ] P(Y|X)\begin{bmatrix}0.99&0.01&0\\0.005&0.99&0.005\\0&0.01&0.9…

Linux中Samba服务配置和管理

文章目录 一、Samba介绍1.1、Samba是什么1.2、Samba的核心功能1.3、Samba的主要组件1.4、Samba的工作流程1.5、Samba主要配置文件smb.conf 二、Samba安装2.1、更新yum源2.2、安装Samba客户端和服务器软件包2.3、启动Samba 三、Samba的使用3.1、设置Samba服务的全局选项3.2、tes…

MS01SF1 精准测距UWB模组助力露天采矿中的人车定位安全和作业效率提升

在当今矿业行业,随着全球对资源需求的不断增加和开采难度的逐步提升,传统的作业方式面临着越来越多的挑战。露天矿山开采,因其大规模的作业环境和复杂的地形特点,面临着作业人员的安全风险、设备调度的高难度以及资源利用率低下等…

Spring Security 门神中的战斗机

Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。 一般来说中大型的项目都是使用SpringSecurity 来做安全框架。 小项目有Shiro的比较多,因为相比与SpringS…

CentOS 7 下升级 OpenSSL

升级openssh,下载:https://download.csdn.net/download/weimeilayer/89935114 上传到服务器,然后执行命令 rpm -Uvh *.rpm --nodeps --force安装依赖 yum -y install gcc perl make zlib-devel perl-CPAN下载安装包:https://github.com/ope…

unordered_map、unordered_set 底层原理及其相关面试题

目录 unordered_map、unordered_set的底层原理 哈希表的实现 unordered_map 与map的区别?使用场景? unordered_map、unordered_set的常用函数 unordered_map map区别和联系 unordered_map、unordered_set的底层原理 unordered_map的底层是一个防冗余…