centos7源码安装mariadb10.4.16(脚本)

#!/bin/bash
#auto SourceCode Install mariadb
#by author toyix
#20207213:14:14
yum install -y wget lrzsz vim
echo "安装阿里base及epel源"
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
echo "清缓存"
yum clean all
yum makecache
echo "安装软件环境支持"
yum install -y wget lrzsz vim boost gcc ncurses-devel libaio bison gcc-c++ git cmake ncurses-devel openssl openssl-devel  
echo "下载mariadb10.4.16源码包"
cd /usr/src/
wget -c https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-10.4.13/source/mariadb-10.4.13.tar.gz
echo "解压"
tar -zxvf mariadb-10.4.13.tar.gz
cd mariadb-10.4.13/
echo "创建mysql用户"
useradd -s /sbin/nologin -r mysql -M
echo "预编译"
cmake -j4 . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mariadb \
-DMYSQL_DATADIR=/data/mariadb/ \
-DSYSCONFDIR=/usr/local/mariadb \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITHOUT_TOKUDB=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
echo "编译"
make -j4 && make install -j4
echo "查看安装目录"
ls /usr/local/mariadb/
echo "配置启动文件及权限等"
cd /usr/local/mariadb/
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
mkdir -p /data/mariadb/
chown -R mysql:mysql /data/mariadb
chown -R mysql:mysql /usr/local/mariadb/
echo "配置数据库主配置文件"
cat >/usr/local/mariadb/my.cnf<<EOF
[mysqld]
basedir=/usr/local/mariadb/
datadir=/data/mariadb/
port=3306
pid-file=/data/mariadb/mysql.pid
socket=/tmp/mysql.sock

[mysqld_safe]
log-error=/data/mariadb/mysql.log

[client]
port=3306
socket=/tmp/mysql.sock
default-character-set=utf8
EOF
echo -e "\033[32m数据库初始化\033[0m"
/usr/local/mariadb/scripts/mariadb-install-db --datadir=/data/mariadb/
echo "安装目录改回root权限"
chown -R root:root /usr/local/mariadb/
echo "数据目录权限改为mysql"
chown -R mysql:mysql /data/mariadb/
ls -l /data/mariadb/
echo "配置环境变量"
echo "export PATH=/usr/local/mariadb/bin:$PATH" >/etc/profile.d/mariadb.sh
. /etc/profile.d/mariadb.sh 
echo "启动mysql"
/etc/init.d/mysqld restart
echo "查看进程"
ps -ef|grep mysql
netstat -tnlp

执行后结果

You can test the MariaDB daemon with mysql-test-run.pl
cd './mysql-test' ; perl mysql-test-run.pl

Please report any problems at http://mariadb.org/jira

The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/

安装目录改回root权限
数据目录权限改为mysql
total 122924
-rw-rw----. 1 mysql mysql    24576 Jul  2 13:04 aria_log.00000001
-rw-rw----. 1 mysql mysql       52 Jul  2 13:04 aria_log_control
-rw-rw----. 1 mysql mysql      972 Jul  2 13:04 ib_buffer_pool
-rw-rw----. 1 mysql mysql 12582912 Jul  2 13:04 ibdata1
-rw-rw----. 1 mysql mysql 50331648 Jul  2 13:04 ib_logfile0
-rw-rw----. 1 mysql mysql 50331648 Jul  2 13:04 ib_logfile1
-rw-rw----. 1 mysql mysql 12582912 Jul  2 13:04 ibtmp1
-rw-rw----. 1 mysql mysql        0 Jul  2 13:04 multi-master.info
drwx------. 2 mysql mysql     4096 Jul  2 13:04 mysql
-rw-rw----. 1 mysql mysql     1864 Jul  2 13:04 mysql.log
-rw-rw----. 1 mysql mysql        6 Jul  2 13:04 mysql.pid
drwx------. 2 mysql mysql       20 Jul  2 13:04 performance_schema
drwx------. 2 mysql mysql       20 Jul  2 13:04 test
配置环境变量
启动mysql
Reloading systemd:                                         [  OK  ]
Restarting mysqld (via systemctl):                         [  OK  ]
查看进程
root     42767     1  3 13:04 ?        00:00:00 /bin/sh /usr/local/mariadb//bin/mysqld_safe --datadir=/data/mariadb/ --pid-file=/data/mariadb/mysql.pid
mysql    42876 42767 27 13:04 ?        00:00:00 /usr/local/mariadb/bin/mysqld --basedir=/usr/local/mariadb/ --datadir=/data/mariadb/ --plugin-dir=/usr/local/mariadb//lib/plugin --user=mysql --log-error=/data/mariadb/mysql.log --pid-file=/data/mariadb/mysql.pid --socket=/tmp/mysql.sock --port=3306
root     42911  2197  0 13:04 pts/0    00:00:00 grep mysql
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1816/master         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1551/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1816/master         
tcp6       0      0 :::3306                 :::*                    LISTEN      42876/mysqld        
tcp6       0      0 :::22                   :::*                    LISTEN      1551/sshd           
[root@localhost src]# 

登录测试

localhost src]# /usr/local/mariadb/bin/mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.4.13-MariaDB Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

------------------------------------end

热门文章

暂无图片
编程学习 ·

java后端重点

java基础,设计模式,jvm原理,spring+springmvc原理及源码,linux,mysql事务隔离与锁机制,mongodb,http/tcp,多线程,分布式架构(dubbo,dubbox,spring cloud),弹性计算架构,微服务架构(springboot+zookeeper+docker+jenkins),java性能优化,以及相关的项目管理等…
暂无图片
编程学习 ·

mysql查询练习1篇

mysql查询练习1篇 学生表 学号 姓名 性别 出生日期 所在班级 create table student( sno varchar(20) primary key, sname varchar(20) not null, ssex varchar(10) not null, sbirthday datetime, class varchar(20) ) ENGINE=innoDB DEFAULT CHARACTER SET=utf8 ;教师表 教…
暂无图片
编程学习 ·

开挂的印度裔00后:7岁“出道”教编程,12岁成为IBM荣誉顾问

9年教学经验,400万播放量,还出了3本编程教学书。解锁如此成就的,正是在油管(Youtube)爆火的一位up主,印度裔加拿大籍程序员——Tanmay Bakshi。他的课程覆盖主流操作系统、编程语言,以及基础科学。其深入浅出、通俗易懂的讲解方式,大获网友们的好评。有中国网友,还将他与…
暂无图片
编程学习 ·

理解持续测试,才算理解DevOps

软件产品的成功与否,在很大程度上取决于对市场需求的及时把控,采用DevOps可以加快产品交付速度,改善用户体验,从而有助于保持领先于竞争对手的优势。作为敏捷开发方法论的一种扩展,DevOps强调开发、测试和运维不同团队间的协作与沟通。持续集成和持续测试是一个在迭代中构…
暂无图片
编程学习 ·

微信小程序引入vant Weapp组件

微信小程序引入vant Weapp组件 步骤: 1. 打开终端: 先初始化: npm init -y 然后进行安装 npm install --productionnpm i @vant/weapp -S --production2. 需要在微信开发者工具,点击工具==>>构建npm 并点击详情,勾选 使用 npm 模块 选项,构建完成后,即可引入组件…
暂无图片
编程学习 ·

如何解决eclipse无法显示svn资源库以及给资源库设置起别名

前言每次安排项目时领导都会丢给我一个svn地址,让我去download下来然后功能写完了提交到svn即可。可是项目做多了话,就会出现在很多个svn地址,同时由于url里面的中文会被转码,所有在导入的时候根本不知道哪个时自己要导入的。如下面所示:显示svn资源库以及设置别名 从下图…
暂无图片
编程学习 ·

【GNURadio RTL-SDR】双RTL-SDR信号源的FM调频广播接收机

文章目录1. 前言2. 实验过程2.1 制作流图2.2 RTL-SDR的设备参数1. 前言 两个RTL-SDR的dongle“电视棒”,芯片 RTL2832U + R820T ,淘宝50左右那种能收FM和我国DTMB频段,想都接到同一台电脑去用软件无线电(GNURadio)的方式收多个FM调频广播信号。 2. 实验过程 在谷歌搜了不少…
暂无图片
编程学习 ·

异步FIFO学习

这里写自定义目录标题一、概述二、异步FIFO的设计基础2.1 FIFO指针2.2 格雷码的使用2.2.1 二进制码存在的问题2.2.2 格雷码计数器2.3 空满条件的判断三、异步FIFO设计实现3.1 fifo13.2 fifomem3.3 sync_r2w3.4 sync_w2r3.5 rptr_empty3.6 wptr_full 一、概述 在大规模ASIC或FPG…
暂无图片
编程学习 ·

qtdesigner-尝试连接数据库

参考教程:基于PyQt5的数据库可视化操作界面MainWindow:生成的一个类,下面有setupUi和retranslateUi两个方法。 接下来是登录操作。教程中用的是pymssql,我们用pyodbc,目测应该差不多。 import pyodbc cnxn = pyodbc.connect(DRIVER={SQL Server};SERVER=localhost;DATABASE…
暂无图片
编程学习 ·

直播软件开发中的音视频编码转换怎么实现

2.1、下载ffmpeg。 下载网址:[url]http://www.ffmpeg.org/download.html[/url] 2.2、解压缩tar -zxvf ffmpeg-2.0.1.tar.gz2.3、编辑profile文件: vi /etc/profile 在文件末尾加上两句话:export FFMPEG_HOME=/usr/local/ffmpeg export PATH=$FFMPEG_HOME/bin:$PATH2.4、配置…
暂无图片
编程学习 ·

必应每日壁纸——7月

只分享,不科普 自行必应科普July1 Wednesday2 Thursday3 Friday4 Saturday5 Sunday6 Monday7 Tuesday8 Wednesday9 Thursday10 Friday11 Saturday12 Sunday July 1 Wednesday 班夫国家公园 莫兰湖德国卡塞尔威廉高地公园中的阿波罗神庙2 Thursday 3 Friday 4 Saturday 5 Sunda…
暂无图片
编程学习 ·

【Linux】——I/O复用之poll

1、poll的概述 在上一篇文章中,我们详细的介绍了I/O复用技术中的select使用。这篇文章我们来主要介绍一下poll. poll系统调用和select类似,也是在指定事件内轮询一定数量的文件描述符,以测试其中是否有就绪的 本质都是统一监听,如果任意一个文件描述符上有关注的事件发生。…
暂无图片
编程学习 ·

视觉SLAM十四讲--1,2章

第一讲 前言 SLAM—simultaneous localization and mapping 同时定位与地图构建—它是指搭载特定传感器的主体,在没有环境先验信息的情况下,与运动过程中建立环境的模型,同时估计自己的运动。 课后题: 1、Ax=bAx=bAx=b 求解xxx 涉及到一个定理: 线性方程组有解的充分必要条…
暂无图片
编程学习 ·

GitHub更新fork的代码

1、在本地装好github客户端,或者git客户端 2、clone 自己的fork分支到本地,可以直接使用github客户端,clone到本地,如果使用命令行,命令为:git clone https://github.com/liuyanqing1023/WxJava.git3、增加源分支地址到你项目远程分支列表中(此处是关键),先得将原来的仓…
暂无图片
编程学习 ·

Hadoop(七)——中下下

shuffle MapReduce的shuffle分为map阶段的shuffle和reduce阶段的shuffle,下面就分别来做介绍。 map阶段的shuffle: 之前我们学的是map阶段并不是直接把数据给reduce,而是会把数据分好,该分区的分区,该封装的封装,该合并的合并再给到reduce,下面就来详细介绍这个过程。1.…
暂无图片
编程学习 ·

openfeign 转发header 实现全链路灰度发布

openfeign 转发header 实现全链路灰度发布引言实现在服务中修改Predicate加一个Interceptor配置ribbon规则,使用我们自己的规则 引言网关层看这里 之前写了网关层实现灰度发布,但是这个只能被路由一次 像是这样: 客户端->网关->根据版本号路由到应用 之后应用再调用其…
暂无图片
编程学习 ·

Java语言基础之封装&构造方法&静态的使用

面向对象思想概述 概述:面向对象是相对于面向过程而言的,面向过程强调的是功能,面向对象强调的是将功能封装进对象,强调具备功能的对象。 思想特点:面向对象思维方式是一种更符合人们思考习惯的思想 面向过程思维方式中更多的体现的是执行者(自己做事情),面向对象中更多…
暂无图片
编程学习 ·

【Docker】 Docker pull的时候指定仓库

1.概述 默认情况下docker pull会从docker hub拉取镜像文件,也可以手动指定一个仓库地址拉取镜像。假如你设置了一个本地仓库地址,那么你只要指定这个地址拉取镜像即可。仓库地址类似一个URL,但是没有协议头http://。 例如从一个镜像地址:myregistry.local:5000,拉取镜像文…
暂无图片
编程学习 ·

一个很小的错误,找半天,说明测试的话要完整测试.

如(d==.){//只能有1个点点数++;右();如(点数==1)下;打印("点数不对");置(m);中 0;}//不支持什么科学计数,这里就死循环了.就这么一块,少写了一个右().找半天.假设以后有时间写测试的话,一定要测试完整.将每个函数都测试到. 这样不会出错. 完整测试,不仅仅包括函数的完…