Linux下安装/使用mariadb

news2024/11/17 13:28:47

文章目录

  • 第一章:mariadb在rhel7上的使用
  • 第二章:mariadb在rhel6上的安装
    • (1)编译源码包(比较慢)
    • (2)二进制包安装(比较推荐)

第一章:mariadb在rhel7上的使用

rhel7及以上系统默认安装了mariadb(低版本)


下图列举了rhel7.3自带的版本,本章操作以rhel7.3为例
mariadb
所以,此处记录一下使用系统自带的mariadb


  1. 启动mariadb服务
systemctl start mariadb
  1. 设置mariadb服务为开启自启(自愿)
systemctl enable mariadb
  1. 设置账户密码(注:默认root无密码)
# 按照提示,一步步执行即可。初始root无密码
mysql_secure_installation
  1. 密码设置成功后,测试登录
# 用户为root,密码为123456
mysql -uroot -p123456

第二章:mariadb在rhel6上的安装

rhel6上面没有自带mariadb,如果要使用,需要自行安装。
操作步骤见下,可能略有不同
参考文章:CentOS6下编译安装MariaDB


上述链接提供了两种方式

(1)编译源码包(比较慢)

  1. 安装前环境准备
# 1.安装依赖
yum -y install cmake gcc gcc-c++ openssl-devel ncurses-devel
# 2.准备源码包,下载地址:http://archive.mariadb.org/
mariadb-5.5.43.tar.gz
# 3.创建数据存放目录和配置文件目录
mkdir /mydata
mkdir /etc/mysql
  1. 预编译安装
# 1.解压mairadb-5.5.43.tar.gz
tar -zxvf mariadb-5.5.43.tar.gz
# 2.进入解压后的目录
cd mariadb-5.5.43
# 3.执行cmake命令预编译
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-5.5.43 -DMYSQL_DATADIR=/mydata  -DSYSCONFDIR=/etc/mysql/ -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
# -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-5.5.43:编译后存放路径
# -DMYSQL_DATADIR=/mydata:数据存放目录
# -DSYSCONFDIR=/etc/mysql:配置文件存放目录
  1. 编译安装
make && make install

(2)二进制包安装(比较推荐)

  1. 安装前环境准备
# 1.组和用户:mysql
useradd -r mysql
groupadd -r mysql
# 2.数据存放目录
mkdir -p /mydata
# 3.配置文件目录
mkdir -p /etc/mysql
# 4.二进制包:下载路径http://archive.mariadb.org/
mariadb-5.5.43-linux-x86_64.tar.gz

2.安装

# 1.解压mariadb-5.5.43-linux-x86_64.tar.gz到/usr/local目录中
tar  -zxvf  mariadb-5.5.43-linux-x86_64.tar.gz  -C  /usr/local
# 2.将解压后的目录链接为mysql
ln  -sv  /usr/local/mariadb-5.5.43  /usr/local/mysql
# 3.进入mysql目录,将所有文件属主改为root,属组改为mysql
cd  /usr/local/mysql
chown  -Rv root:mysql  ./*
# 4.执行scripts目录下mysql_install_db文件,并指明数据存放目录和用户
scripts/mysql_install_db  --datadir=/mydata  --user=mysql	# 注意当前路径为:/usr/local/mysql

3.安装后配置

# 1.将support-files目录下mysql.server文件复制为/etc/rc.d/init.d/mysqld文件
cp support-files/mysql.server  /etc/rc.d/init.d/mysqld
# 2.将其添加到chkconfig启动项
chkconfig --add mysqld
# 3.将support-files目录下my-large.conf复为/etc/mysql/my.cnf文件
cp support-files/my-large.cnf /etc/mysql/my.cnf
# 4.编辑/etc/mysql/my.cnf文件,在[mysqld]添加一下三项(我就添加了一个)
datadir=/mydata
# innodb_file_per_table=on
# skip_name_resolve=on

# 5.配置环境变量,并执行查看
cat /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH #文件内容
# 生效
source /etc/profile.d/mysql.sh
echo $PATH
  1. 安装完成验证
# 1.启动mysqld服务并查看状态
service mysqld status
service mysqld  start
# 可能会起不来报错
# 报错a:ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql)
# 解决a:删掉/var/lock/subsys/mysql,再重启服务,重启命令:/etc/init.d/mysql start(一般就会报成功了)
# 注意:重启服务命令不要用service  mysqld  start了,用了还会报同样的错

# 报错b:服务通过上述命令启动成功后,查看服务状态(service mysqld status),显示ERROR! MySQL is running but PID file could not be found
# (也不算解决)解决b:我是没有理会,抓一下mysqld,看看端口开了没,开了应该就没啥问题

注意事项

# 重启mysqld服务
/etc/init.d/mysqld start
# 查看服务状态 - 这个是7的命令,6不支持哈
systemctl status mysqld.service
# 开启服务 - 这个是7的命令,6不支持哈
systemctl start mysqld.service
# 抓端口
netstat -tnlp | grep mysql # 看到3306基本就是ok了

示意图:(我是在7上面操作了,后续可能会补一版6的)
在这里插入图片描述

# 2.启动mysql服务端
mysql	#下图为启动成功示意图

在这里插入图片描述
问题解决参考文章:
1.ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
2.解决MySQL is running but PID file could not be found

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

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

相关文章

【Android】Android虚拟机

虚拟机 Android的虚拟机主要有两种:Dalvik 虚拟机和 ART(Android Runtime)虚拟机。 Dalvik 虚拟机 Dalvik 虚拟机是 Android 早期使用的虚拟机,它基于寄存器架构。从Android 2.2版本开始,支持JIT即时编译&#xff08…

计算机系统 基础知识点汇总,超全!!!

计算基础知识点合集来啦!!! 更多知识请关注我!!! 近期内容: 第二章 数据结构与算法 知识点总结第三章 程序设计基础知识点整理第四章 软件工程基础知识点汇总第五章 数据库基础知识pyhon基础知…

JVM 调优设置

堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无…

Python web框架开发 - WSGI协议

目录 浏览器请求动态页面过程 多进程web服务端代码 - 面向过程 封装对象分析 增加识别动态资源请求的功能 为什么需要 WSGI协议 WSGI协议的介绍 定义WSGI接口 编写framwork支持WSGI协议,实现浏览器显示 hello world 本次开发的完整代码如下: 浏…

深度学习 / 数据处理:如何处理偏态数据

1 前言 当我们使用一个线性回归模型时,通常这个模型是在很大假设的前提下才有一个很好的结果: 1、假设预测因子和预测目标之间的关系是线性的2、数据不存在外在噪声:不存在一些极端的数据3、非共线性( collinearity)…

1分钟学会使用docker-compose部署 registry 以及可视化镜像

获取 docker-compose: curl -L https://github.com/docker/compose/releases/download/2.2.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose docekr-compose.yaml: version: 3.3services:registry-ui:image: joxit/docker-registry-ui:mainrestart: always…

appium如何连接多台设备

目录 前言: 1.我们拿两台设备来模拟操作下,使用:adb devices查看连接状况,获取到设备名称。 2.获取需要操作app的包名和页面名称(前提该设备已经打开了app) 3.设置初始配置信息 4.打开页面后操作元素&am…

嵌入式系统的不同方向及优化策略

当涉及到嵌入式系统开发时,可以根据具体的应用需求选择不同的方向进行优化。以下是一些常见的嵌入式系统方向及其特点: 单片机方向:这个方向主要针对使用单片机作为核心的嵌入式系统开发。单片机资源有限,适用于简单的控制任务&am…

基于Java的万年历(课设)

基于Java的万年历 资源链接:基于Java的万年历(课设) 文章目录 基于Java的万年历1 绪论2 需求分析3 概要设计3.1 类间组合框架3.2 布局结构示意3.3 对各个类的概述 4运行环境5 开发工具和编辑语言6 详细设计6.1 NiceCaelendar类6.2 NiceFram…

分享一个优秀的动态数据源开源库-dynamic-datasource-spring-boot-starter

分享一个优秀的动态数据源开源库-dynamic-datasource-spring-boot-starter 1.1 前言1.2 动态数据源开源库简介1.3 特性1.4 用法示例1.4.1 添加依赖1.4.2 配置数据源1.4.3 使用 DS 注解切换数据源 1.5 最佳实践 1.1 前言 在我们的Java后端研发工作中, 有时候由于业务的快速迭代…

Unity 热力图效果实现 笔记

Unity 热力图效果实现 笔记 参考文献连接: 1、人体热力图shader graph实现(URP) 超链接: https://www.youtube.com/watch?vKlMON4Dzq_0&t51s shader forge 翻译通用管线下 连接点实现方案: 2、碰撞热力图实现…

青岛大学_王卓老师【数据结构与算法】Week03_08_线性表的链式表示和实现8_学习笔记

本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享,另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。如有侵权,请留言作删文处理。 课程视频链接: 数据结构与算法基础–第…

Python打包工具 Pyinstaller使用教程(将.py以及Python解释器和相关库打包可执行文件)

文章目录 pyinstaller历史背景工作原理使用方法简介使用方法详解(请仔细阅读help文档中文翻译)help文档help文档中文翻译 简单使用示例1. 编译打包2. 拷贝到目标系统3. 运行(遇到问题) 如何使用xxx.spec文件重新编译配置项示例配置…

千字提炼商业智能BI精髓,言简意赅

商业智能BI的发展和数据的增长有很强的关联性,而当前人工智能、大数据、云计算、物联网、互联网等技术和应用都对数据的增长有促进作用,所以商业智能BI也就伴随着数据的增长,在各行各业的企业中开始发挥作用。 商业智能(Business…

uniapp 移动端 后台返回数据流 查看PDF

使用步骤&#xff1a; 1.官网下载地址pdf.js 2.在项目的根目录新建hybrid文件夹&#xff0c;将下载的pdf.js压缩包解压后&#xff0c;复制到hybrid下的html文件夹中 3.在page文件夹下新建一个filePreview.vue页面&#xff0c;页面代码如下&#xff1a; <template><…

C#核心知识回顾——5.结构体和类区别、抽象类和接口、核心知识图解

1.结构体和类区别 结构体和类最大的区别是在存储空间上的&#xff0c;因为结构体是值&#xff0c;类是引用&#xff0c;因此他们的存储位置一个在栈上&#xff0c;一个在堆上。 结构体和类在使用上很类似&#xff0c;结构体甚至可以用面向对象的思想来形容一类对象。 结…

SQL题型:根据逗号拆分列

例1&#xff1a; 表&#xff1a; 要实现的结果&#xff1a; 代码&#xff1a; select a.id as hyId,substring_index(substring_index(a.ch_ry_mc, ,,b.help_topic_id 1 ),,, - 1) AS CH_RY_ID FROM rsgl_hygl_hyxx a JOIN mysql.help_topic b ON b.help_topic_id < ( l…

Acwing.835 Trie字符串统计 (trie数据结构)

题目 维护一个字符串集合&#xff0c;支持两种操作: 1."Ix"向集合中插入一个字符串x; 2."Qx”询问一个字符串在集合中出现了多少次。 共有N个操作&#xff0c;输入的字符串总长度不超过 1 0 5 10^5 105&#xff0c;字符串仅包含小写英文字母。 输入格式 第一…

ChatGPT 和爬虫有什么区别?

ChatGPT是一种基于人工智能的对话模型&#xff0c;它通过训练大量的文本数据来生成自然语言回复。它可以用于实现智能对话系统&#xff0c;能够理解用户的输入并生成相应的回复。ChatGPT的目标是模拟人类对话&#xff0c;使得对话更加流畅和自然。 而爬虫是一种用于自动化地从…

linux 操作系统内核态用户态

1. 32位系统一个进程最多有多少堆内存 对 32 位操作系统而言&#xff0c;它的寻址空间是4G&#xff08;2的32次方&#xff09;&#xff0c;Linux把它分为两部分&#xff1a;最高的1G(虚拟地址从0xC0000000到0xffffffff)用做内核本身&#xff0c;成为“内核空间”&#xff0c;而…