前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >mariadb编译

mariadb编译

原创
作者头像
风起--追风
发布于 2024-01-29 08:54:37
发布于 2024-01-29 08:54:37
35200
代码可运行
举报
文章被收录于专栏:sql与spec性能sql与spec性能
运行总次数:0
代码可运行

1 mariadb编译安装

说明:虚拟化环境的安装,参考组网图,部署2个虚拟机,每个虚拟机上面部署mariadb

软件即可

1.1 安装依赖

Ø 上传rpm.zip文件到/rpm目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /home
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
unzip rpm.zip
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /home/rpm
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rpm -ivh * --force

1.2 虚机机挂载硬盘

可参考我之前写的“虚拟机磁盘挂载,本地映射”

1.3 格式化硬盘

/home/db:数据库的数据文件路径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkfs.xfs /dev/vdb
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p /home/db/
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mount /dev/vdb /home/db

1.4 系统环境设置

虚拟机和宿主机都执行该操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo "* soft nproc 65535">>/etc/security/limits.conf
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo "* hard nproc 65535">>/etc/security/limits.conf
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo "* soft nofile 65535">>/etc/security/limits.conf
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo "* hard nofile 65536">>/etc/security/limits.conf

1.5 创建用户、目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
useradd -m mysql
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p /usr/local/mariadb-10.3.32
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chown -R mysql:mysql /usr/local/mariadb-10.3.32
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chown -R mysql:mysql /home/db
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p /home/db/data
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p /home/db/tmp
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chmod 777 -R /home/db/tmp
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chown -R mysql:mysql /home/db/data
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chmod 777 /home/db/tmp

1.6 预编译

上传mariadb-10.3.32.tar.gz到/home目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar -zxvf mariadb-10.3.32.tar
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /home/mariadb-10.3.32
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-10.3.32 -DMYSQL_DATADIR=/home/db/data -DMYSQL_UNIX_ADDR=/home/db/tmp/mysql.sock -DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_ARIA_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_CONNECT_STORAGE_ENGINE=1 -DWITH_CSV_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_SEQUENCE_STORAGE_ENGINE=1 -DWITH_SPHINX_STORAGE_ENGINE=1 -DWITH_XTRADB_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DEXTRA_CHARSETS=all -DENABLE_PROFILING=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DWITH_CURL=system -DWITH_DEBUG=0 -DWITH_LIBWRAP=0 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system

1.7 编译安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
make -j16
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
make install

1.8 修改配置文件

将my.cnf和mariadb.service上传到home目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /home
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cp my.cnf /etc/
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cp mariadb.service /usr/lib/systemd/system/

1.9 修改环境变量

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim /etc/profile
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//在/etc/profile最后添加两行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export MARIADB_HOME=/usr/local/mariadb-10.3.32
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export PATH=$PATH:$MARIADB_HOME/bin
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source /etc/profile

1.10 初始化数据库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/usr/local/mariadb-10.3.32/scripts/mysql_install_db --user=mysql --datadir=/home/db/data

1.11 启动服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
service mariadb start

1.12 数据库设置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
按如下命令进入数据库初始数据库无密码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql -u root -p
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
修改密码:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
use mysql;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 将authentication_string 置空;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
update user set authentication_string='' where user='root'; 
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//123456为要修改的新密码;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
alter user 'root'@'localhost' identified by '123456';   
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FLUSH PRIVILEGES;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//远程登录设置
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rename user 'root'@'localhost' to 'root'@'%';
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
flush privileges;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
Java中的深浅拷贝
堆(heap):主要用于存储实例化的对象,数组。由JVM动态分配内存空间,堆内存还可以用来存放由new创建的对象和数组。一个JVM只有一个堆内存,线程是可以共享数据的。
关忆北.
2021/12/07
4910
Java中的深浅拷贝
Java浅拷贝大揭秘:如何轻松复制两个不同对象的某些相同属性
在Java编程中,经常会遇到需要复制一个对象的属性到另一个对象的情况。这时,可以使用浅拷贝(Shallow Copy)来实现这个需求。那么,什么是浅拷贝呢?浅拷贝是指创建一个新对象,然后将原对象的非静态字段复制到新对象中。这样,新对象和原对象就会有相同的字段值。本文将详细介绍如何使用Java实现浅拷贝,并给出代码示例。
木头左
2024/06/10
3710
Java中深复制和浅复制
关于Java中的深复制、浅复制,网上也有很多资料解释,这里整理出来加入一些自己的想法。
用户2146693
2019/08/08
9040
Java中深复制和浅复制
关于Java的拷贝你能说出个123么?
java赋值是复制「对象引用」,如果我们想要得到一个对象的==副本==,使用赋值操作是无法达到目的的:修改新对象的值会同时修改旧对象的值。
sowhat1412
2020/12/02
3140
关于Java的拷贝你能说出个123么?
【设计模式】-创建型模式-第2章第4讲-【原型模式】
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
跟着飞哥学编程
2022/12/02
3600
一文了解Java对象的克隆,深浅拷贝(克隆)
在Java的Object类中,有一个方法名为clone(),直译过来就是克隆,核心概念就是复制对象并返回一个新的对象。
程序员小强
2020/05/14
3.4K0
详解Java中的clone方法:原型模式
clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢?
哲洛不闹
2018/09/19
7690
详解Java中的clone方法:原型模式
Java基础——clone()方法浅析
一、clone的概念    clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢?  使用new操作符创建一个对象 使用clone方法复制一个对象    那么这两种方式有什么相同和不同呢? new操作符的本意是分配内存。程序执行到new操作符时, 首先去看new操作符后面的类型,因为知道了类型,才能知道要分配多大的内存空间。分配完内存之后
mukekeheart
2018/02/27
7500
Java基础——clone()方法浅析
好似你,饼印咁:原型模式、浅拷贝与深拷贝
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。大概意思就是:允许一个对象再创建另外一个可定制的对象,根本无需知道对象创建的细节。其工作原理是通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。其UML类图如下:
BUG弄潮儿
2021/01/18
3220
好似你,饼印咁:原型模式、浅拷贝与深拷贝
Java 浅拷贝、深拷贝,你知多少?
在 Java 开发中,对象拷贝或者说对象克隆是常有的事,对象克隆最终都离不开直接赋值、浅拷贝、深拷贝 这三种方式,其中直接赋值应该是我们最常用的一种方式吧,对于浅拷贝和深拷贝可能用的少,所以或多或少存在一些误区,这篇文章会详细的介绍这三种对象克隆方式。
平头哥的技术博文
2019/12/04
8270
Java 浅拷贝和深拷贝
Java中的对象拷贝(Object Copy)指的是将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去。
用户3467126
2019/09/04
6940
Java 浅拷贝和深拷贝
抽象类与接口(3)(接口部分)
❤️❤️观察其内部结构我们可以知道在Comparable后面还有个<T>,在语法上这是泛型,之后会讲,这并不影响我们现在的思路,这个<T>中的T你写student类,后面的compareTo方法中的第一个参数就是student类,如上图。
E绵绵
2024/04/08
1100
抽象类与接口(3)(接口部分)
java浅拷贝和深拷贝(基础也是很重要的)
对于的github基础代码https://github.com/chywx/JavaSE
陈灬大灬海
2018/09/12
3690
java浅拷贝和深拷贝(基础也是很重要的)
Java中对象如何拷贝?
在Java中,对象拷贝可以是浅拷贝(Shallow Copy)或深拷贝(Deep Copy)。理解这两种拷贝的区别对于正确地实现对象拷贝至关重要。
王也518
2024/04/22
4270
深入浅出Java中的clone克隆方法,写得太棒了!
作者:张纪刚 blog.csdn.net/zhangjg_blog/article/details/18369201/
Java技术栈
2019/07/08
3190
深入理解Java浅拷贝与深拷贝
本文将会深入探讨Java浅拷贝和深拷贝的概念,讲解它们各自的用途、使用场景以及技巧,并通过实战案例帮助读者更好地理解这两种拷贝方式的含义。
阿珍
2025/03/24
1850
深入理解Java浅拷贝与深拷贝
面试官:Java深拷贝和浅拷贝区别
结果分析:由输出结果可以看出,它们的地址值是相同的,那么它们肯定是同一个对象。teacher和otherteacher的只是引用而已,他们都指向了一个相同的对象Teacher(“Taylor”,26)。这就叫做引用拷贝。
TimeFriends
2022/08/01
2540
Java深入理解深拷贝和浅拷贝区别
结果分析:由输出结果可以看出,它们的地址值是相同的,那么它们肯定是同一个对象。teacher和otherTeacher的只是引用而已,他们都指向了一个相同的对象Teacher(“riemann”,28)。 这就叫做引用拷贝。
全栈程序员站长
2022/11/10
2070
Java深入理解深拷贝和浅拷贝区别
Java中的深浅拷贝问题你清楚吗?
拷贝这个词想必大家都很熟悉,在工作中经常需要拷贝一份文件作为副本。拷贝的好处也很明显,相较于新建来说,可以节省很大的工作量。在Java中,同样存在拷贝这个概念,拷贝的意义也是可以节省创建对象的开销。
Java旅途
2021/01/08
7140
设计模式-原型模式(克隆羊多利看了都说好)
问题: 现在有一只羊(包含属性:名字Dolly、年龄2),需要克隆10只属性完全相同的羊。
唔仄lo咚锵
2021/09/14
3910
设计模式-原型模式(克隆羊多利看了都说好)
推荐阅读
相关推荐
Java中的深浅拷贝
更多 >
LV.5
这个人很懒,什么都没有留下~
目录
  • 1 mariadb编译安装
    • 1.1 安装依赖
    • 1.2 虚机机挂载硬盘
    • 1.3 格式化硬盘
    • 1.4 系统环境设置
    • 1.5 创建用户、目录
    • 1.6 预编译
    • 1.7 编译安装
    • 1.8 修改配置文件
    • 1.9 修改环境变量
    • 1.10 初始化数据库
    • 1.11 启动服务
    • 1.12 数据库设置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档