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 libarchive
yum install -y openssl openssl-devel---
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=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_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 = 2character-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./mysql_install_db  --initialize-insecure  --user=mysql 
--basedir=/home/nulige/mysql/3306 --datadir=/home/nulige/mysql/3306/data 3.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 

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

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

相关文章

财务域——财务信息化

摘要 博文探讨了企业财务信息化相关内容。首先阐述了企业以创造价值为目标,涉及业务、管理和信息三大循环。业务循环涵盖获取 / 支付、转换、销售 / 收款等环节;管理循环包含计划、执行、控制与决策;信息循环强调数据的收集、处理、存储与输…

【Linux | IO多路复用】epoll的底层原理详解

epoll 是一种高效的 I/O 多路复用机制,广泛用于 Linux 系统中,用于处理大量并发的文件描述符。它比传统的 select 和 poll 方法具有更好的性能,特别是在处理大量并发连接时。 1.epoll的设计思路 epoll是在select 出现 N 多年后才被发明的&a…

week08 zookeeper多种安装与pandas数据变换操作-new

课程1-hadoop-Zookeeper安装 Ububtu18.04安装Zookeeper3.7.1 环境与版本 这里采用的ubuntu18.04环境的基本配置为: hostname 为master 用户名为hadoop 静态IP为 192.168.100.3 网关为 192.168.100.2 防火墙已经关闭 /etc/hosts已经配置全版本下载地址&#xff1…

软考(网工)——网络安全

文章目录 🕐网络安全基础1️⃣网络安全威胁类型2️⃣网络攻击类型 🕑现代加密技术1️⃣私钥密码/对称密码体制2️⃣对称加密算法总结3️⃣公钥密码/非对称密码4️⃣混合密码5️⃣国产加密算法 - SM 系列6️⃣认证7️⃣基于公钥的认证 🕒Hash …

MYSQL全局锁、标级锁、行级锁

一、全局锁 全局锁就是对整个数据库实例加锁。 MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新…

好/坏代码实例解读:图文并茂说明

我曾经在某处读到过一句话,基本上有以下内容: “现代世界许多人的生活都依赖于软件,例如控制大型商用客机飞行系统的软件,但软件开发领域大多不受监管。任何人都可以成为自学成才的软件开发人员,并且没有像其他高风险…

python爬虫——Selenium的基本使用

目录 一、Selenium的介绍 二、环境准备 1.安装Selenium 2.安装WebDriver 三、元素定位 1.常用定位元素的方法 2. 通过指定方式定位元素 四、窗口操作 1.最大化浏览器窗口 2.设置浏览器窗口大小 3.切换窗口或标签页 切换回主窗口 4. 关闭窗口 关闭当前窗口 关闭所…

Mkdm的51单片机学习日记:实时时钟DS1302

15.2 SPI时序初步认识 单片机常用的通信协议有三种:SPI,UART,I2C SPI:Serial Peripheral Interface 串行外围设备接口,是一种全双工,同步的通信总线 常用于单片机与EEPROM,FLASH,…

如何使用JMeter进行性能测试的保姆级教程

性能测试是确保网站在用户访问高峰时保持稳定和快速响应的关键环节。作为初学者,选择合适的工具尤为重要。JMeter 是一个强大的开源性能测试工具,可以帮助我们轻松模拟多用户场景,测试网站的稳定性与性能。本教程将引导你通过一个简单的登录场…

w~自动驾驶合集6

我自己的原文哦~ https://blog.51cto.com/whaosoft/12286744 #自动驾驶的技术发展路线 端到端自动驾驶 Recent Advancements in End-to-End Autonomous Driving using Deep Learning: A SurveyEnd-to-end Autonomous Driving: Challenges and Frontiers 在线高精地图 HDMa…

数据结构 - 散列表,初探

今天我们继续学习新的数据结构-散列表。 01定义 我们先来了解一些常见概念名词解释。 散列:散列表的实现叫做散列,是一种实现以常数级时间复杂度执行查找、插入和删除的技术; 散列值:通过散列函数对输入值(key&…

前端零基础入门到上班:【Day2】开发环境VSCode安装

VSCode 安装教程:图文保姆教程 引言 在前端开发中,选择合适的代码编辑器是提高工作效率的重要一步。Visual Studio Code(简称 VSCode)作为一款强大的开源编辑器,因其简洁易用、功能强大、扩展性好而广受开发者喜爱。…

Python 协程详解----高性能爬虫

目录 1.基本概念 asyncio和async的关系 asyncio async & await关键字 协程基本语法 多任务协程返回值 案例1 协程在爬虫中的使用 aiohttp模块基本使用 协程案例-扒光一部小说需要多久? 操作数据库 异步redis 异步MySQL 案例2: 知识星球 | 深度连接…

Java篇图书管理系统

目录 前言 一. 图书管理系统的核心 二. 图书管理系统基本框架 2.1 book包 2.1.1 Book(书籍类) 2.1.2 Booklist (书架类) 2.2 user包 2.2.1 User类 2.2.2 Administrator(管理员类) 2.2.3 Visitor(用户类) 2.…

基于Python大数据的王者荣耀战队数据分析及可视化系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

Mybatis-03.入门-配置SQL提示

一.配置SQL提示 目前的Springboot框架在mybatis程序中编写sql语句并没有给到任何的提示信息,这对于开发者而言是很不友好的。因此我们需要配置SQL提示。 配置SQL提示 这样再去写SQL语句就会有提示了。 但是会发现指定表名时并没有给出提示。这是因为&#xff1a…

【综述整理】2015年至2022年图像美学质量评估数据集【附下载链接】

文章目录 2012年-美学数据集AVA-25万-MOS1~10数据集介绍 2015年-移动设备拍摄CLIVE-1K-MOS1~5数据集介绍 2016年-美学数据集AADB-10K-MOS1~10综述摘要 2017年-美学数据集FLICKR-AES-MOS1~5数据集介绍 2018年-户外自然场景KonIQ-10K-MOS1~5数据集介绍标签MOS,1-5分 2…

信息安全工程师(72)网络安全风险评估概述

前言 网络安全风险评估是一项重要的技术任务,它涉及对网络系统、信息系统和网络基础设施的全面评估,以确定存在的安全风险和威胁,并量化其潜在影响以及可能的发生频率。 一、定义与目的 网络安全风险评估是指对网络系统中存在的潜在威胁和风险…

记一次:使用使用Dbeaver连接Clickhouse

前言:使用了navicat连接了clickhouse我感觉不太好用,就整理了一下dbeaver连接 0、使用Navicat连接clickhouse 测试连接 但是不能双击打开,可是使用命令页界面,右键命令页界面,然后可以用sql去测试 但是不太好用&#…

LeetCode_231. 2 的幂_java

1、题目 231. 2 的幂https://leetcode.cn/problems/power-of-two/ 给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n ,则认为 n 是 2 的幂次方…