新用户注册入口 老用户登录入口

[转载]Linux安装mariaDB以及修改Mariadb存储路径

文章作者:转载 更新时间:2023-07-12 10:11:01 阅读数量:309
文章标签:Mariadb安装源码编译yum初始化主从复制
本文摘要:本文详细阐述了在CentOS 7系统上通过yum和源码编译两种方式安装MariaDB数据库的差异,包括路径定制、版本控制及功能扩展等方面。在实际操作中,演示了如何配置官方或阿里云的yum源以安装MariaDB,并对新安装的数据库进行初始化设置、中文编码支持以及用户权限管理。同时,文章还介绍了修改Mariadb存储路径的方法,确保数据持久化存储位置可灵活调整。此外,针对主从复制场景,给出了详细的主库与从库配置步骤及授权复制权限的操作指南,从而实现数据库的高可用性和负载均衡。
转载文章

本篇文章为转载内容。原文链接:https://blog.csdn.net/l363130002/article/details/126121255。

该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。

作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。

如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。

yum和源码编译安装的区别
1.路径区别-yum安装的软件是他自定义的,源码安装的软件./configure --preifx=软件安装的绝对路径
2.yum仓库的软件,版本可能比较低,而源码编译安装,版本可控
3.编译安装的软件,支持第三方功能扩展./configure 这里可以加上很多参数,定制功能

1.安装mariadb,配置官方的mariadb的yum源,手动创建 mariadb.repo仓库文件

添加MariaDB源

vi /etc/yum.repos.d/MariaDB.repo

粘贴官方的或者阿里云的镜像:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.4/centos7-amd64/
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

2.如果下载速度太慢,请删除 mariadb.repo,只是为了使用阿里云的yum源中的mariadb

rm -rf /etc/yum.repos.d/Mariadb.repo
然后清空yum 缓存
yum clean all 

3.通过yum安装mariadb软件,安装mariadb服务端和客户端

官方 yum install MariaDB-server MariaDB-client -y
阿里云 yum install mariadb mariadb-server -y

4.安装完成后,启动mariadb服务端

systemctl  start/stop/restart/status  mariadb
systemctl enable mariadb   开机启动mariadb

5. mariadb初始化

# 这条命令可以初始化mysql,删除匿名用户,设置root密码等等....
mysql_secure_installation1.输入当前密码,初次安装后是没有密码的,直接回车
2.询问是否使用 'unix_socket' 进行身份验证: n
3.为 root 设置密码:y
4.输入 root 的新密码: root
5.确认输入 root 的新密码: root
6.是否移除匿名用户,这个随意,建议删除: y
7.拒绝用户远程登录,这个建议开启:n
8.删除 test 库,可以保留:n
9.重新加载权限表:y

6. 设置mysql的中文编码支持,修改/etc/my.cnf

1.vi /etc/my.cnf
在[mysqld]中添加参数,使得mariadb服务端支持中文
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci2.重启mariadb服务,读取my.cnf新配置
systemctl restart mariadb 3.登录数据库,查看字符编码
mysql -uroot -p
输入 \s  查看编码

7. mysql常用命

desc  #查看表结构
create database  #数据库名
create table  #表名
查看如何创建db的
show create  database  #库名
# 查看如何创建table结构的
show create table 表名;# 修改mysql的密码
set password = PASSWORD('redhat');# 创建mysql的普通用户,默认权限非常低
create user zhang@'%' identified by '123456';# 查询mysql数据库中的用户信息
use mysql;
select host,user,password  from user;

7. 给用户添加权限命令

# 对所有库和所有表授权所有权限
grant all privileges on *.* to 账户@主机名
# 给zhang用户授予所有权限
grant all privileges on *.* to zhang@'%';  
# 刷新授权表
flush privileges; 

8. 给用户添加权限命令

# 给zhangsan用户授予所有权限
grant all privileges on *.* to zhangsan@'%';
# 给与root权限授予远程登录的命令
# 'centos这是密码随意设置
grant all privileges on *.* to root@'%' identified by '123456';  
# 此时可以在windows登录linux的数据库
# 连接服务器的mysql
mysql -uyining -p  -h  服务器的地址

9. 数据备份与恢复

# 导出当前数据库的所有db,到一个文件中
1.mysqldump -u root -p --all-databases > /data/AllMysql.dump
2.登录mysql 导入数据
mysql -u root -p
> source /data/AllMysql.dump
3.通过命令导入数据
# 在登录时候,导入数据文件,一样可以写入数据
mysql -uroot -p < /data/AllMysql.dump

10. 修改Mariadb存储路径

10.1 首先确定MariaDB数据库能正常运行,确定正常后关闭服务

systemctl  stop  mariadb

10.2 建立要更改数据存放的目录,如:我这单独分了一个区/data存放MariaDB的数据

mkdir /data/mysql_data 
chown -R mysql:mysql /data/mysql_data

10.3 复制默认数据存放文件夹到/data/mysql_data

cp -a /var/lib/mysql    /data/mysql_data

10.4 修改/etc/my.cnf.d/server.cnf

vim /etc/my.cnf.d/server.cnf

在[mysqld]标签下添加如下内容

datadir=/data/mysql_data/mysql
socket=/var/lib/mysql/mysql.sock
#default-character-set=utf8
character_set_server=utf8
slow_query_log=on
slow_query_log_file=/data/mysql_data/slow_query_log.log
long_query_time=2

10.5 配置MariaDB慢查询

touch /data/mysql_data/slow_query_log.log
chown mysql:mysql /data/mysql_data/slow_query_log.log

10.6 重启数据库

systemctl  start  mariadb

10.7 注意:

1、配置文件my.cnf存在,但是修改的并不是my.cnf,而是/etc/my.cnf.d/server.cnf;
2、并没有更改mysql.sock的路径配置;
3、没有修改/etc/init.d/mysql中的内容;
4、没有修改mysql_safe中的内容;
5、增加了数据库的慢查询配置。

11. Mariadb主从复制

在这里插入图片描述

11.1 主从库初始化

# 这条命令可以初始化mysql,删除匿名用户,设置root密码等等....
mysql_secure_installation1.输入当前密码,初次安装后是没有密码的,直接回车
2.询问是否使用 'unix_socket' 进行身份验证: n
3.为 root 设置密码:y
4.输入 root 的新密码: root
5.确认输入 root 的新密码: root
6.是否移除匿名用户,这个随意,建议删除: y
7.拒绝用户远程登录,这个建议开启:n
8.删除 test 库,可以保留:n
9.重新加载权限表:y

11.2 修改主库配置

[root@mster mysql]# grep -Ev "^$|^#" /etc/my.cnf.d/server.cnf
[server]
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
server_id = 13    #  一组主从组里的每个id必须是唯一值。推荐用ip位数
log-bin= mysql-bin # 二进制日志,后面指定存放位置。如果只是指定名字,默认存放在/var/lib/mysql下
lower_case_table_names=1 # 不区分大小写
binlog-format=ROW    # 二进制日志文件格式
log-slave-updates=True    # slave更新是否记入日志
sync-master-info=1    # 值为1确保信息不会丢失
slave-parallel-threads=3 #同时启动多少个复制线程,最多与要复制的数据库数量相等即可
binlog-checksum=CRC32    # 效验码
master-verify-checksum=1    # 启动主服务器效验
slave-sql-verify-checksum=1   # 启动从服务器效验
[galera]
[embedded]
[mariadb]
[mariadb-10.6]
[root@mster-k8s mysql]# 

11.2 修改从库配置

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
server_id=14
#log-bin= mysql-bin #log-bin是二进制文件
relay_log = relay-bin    # 中继日志, 后面指定存放位置。如果只是指定名字,默认存放在/var/lib/mysql下
lower_case_table_names=1

11.3 重启主库和从库服务

systemctl restart mariad

11.4 master节点配置

MariaDB [huawei]> grant replication slave, replication client on *.* to 'liu'@'%' identified by '123456';
Query OK, 0 rows affected (0.001 sec)MariaDB [huawei]> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |     4990 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.000 sec)MariaDB [huawei]> select binlog_gtid_pos('mysql-bin.000001', 4990 );
+-------------------------------------------+
| binlog_gtid_pos('mysql-bin.000001', 4990) |
+-------------------------------------------+
| 0-13-80                                   |
+-------------------------------------------+
1 row in set (0.000 sec)MariaDB [huawei]>  flush privileges;

11.5 slave节点配置

MariaDB [(none)]> set global gtid_slave_pos='0-13-80';
Query OK, 0 rows affected (0.004 sec)MariaDB [(none)]>  change master to master_host='101.34.141.216',master_user='liu',master_password='123456',master_use_gtid=slave_pos;
Query OK, 0 rows affected (0.008 sec)MariaDB [(none)]> start slave;
Query OK, 0 rows affected (0.005 sec)MariaDB [(none)]> 

11.6 验证salve状态

MariaDB [(none)]> show slave status\G
*************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 101.34.141.216Master_User: liuMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000001Read_Master_Log_Pos: 13260Relay_Log_File: relay-bin.000002Relay_Log_Pos: 10246Relay_Master_Log_File: mysql-bin.000001Slave_IO_Running: YesSlave_SQL_Running: YesReplicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0Last_Error: Skip_Counter: 0Exec_Master_Log_Pos: 13260Relay_Log_Space: 10549Until_Condition: NoneUntil_Log_File: Until_Log_Pos: 0Master_SSL_Allowed: NoMaster_SSL_CA_File:

本篇文章为转载内容。原文链接:https://blog.csdn.net/l363130002/article/details/126121255。

该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。

作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。

如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。

相关阅读
文章标题:[转载][洛谷P1082]同余方程

更新时间:2023-02-18
[转载][洛谷P1082]同余方程
文章标题:[转载]webpack优化之HappyPack实战

更新时间:2023-08-07
[转载]webpack优化之HappyPack实战
文章标题:[转载]oracle 同时更新多表,在Oracle数据库中同时更新两张表的简单方法

更新时间:2023-09-10
[转载]oracle 同时更新多表,在Oracle数据库中同时更新两张表的简单方法
文章标题:[转载][Unity] 包括场景互动与射击要素的俯视角闯关游戏Demo

更新时间:2024-03-11
[转载][Unity] 包括场景互动与射击要素的俯视角闯关游戏Demo
文章标题:[转载]程序员也分三六九等?等级差异,一个看不起一个!

更新时间:2024-05-10
[转载]程序员也分三六九等?等级差异,一个看不起一个!
文章标题:[转载]海贼王 动漫 全集目录 分章节 精彩打斗剧集

更新时间:2024-01-12
[转载]海贼王 动漫 全集目录 分章节 精彩打斗剧集
名词解释
作为当前文章的名词解释,仅对当前文章有效。
yumyum是一个基于RPM包管理的自动化更新工具,适用于基于红帽系Linux的操作系统,如CentOS、Fedora等。在本文中,yum被用来便捷地安装和管理MariaDB数据库软件,通过配置仓库源地址,可以实现软件的一键安装、更新与卸载,简化了运维人员对系统软件的维护工作。
源码编译安装源码编译安装是指从软件官方网站或开源社区下载原始代码包,然后在目标计算机上进行编译、配置及安装的过程。相较于yum安装,源码编译安装允许用户自定义软件的安装路径、功能模块以及编译参数,以满足特定环境或需求。在文章中,源码编译安装被用来对比于yum安装方式,并指出其在版本控制和功能扩展方面的灵活性。
MariaDB主从复制MariaDB主从复制是数据库高可用性架构的一种实现方式,它通过将主数据库(Master)的数据变化实时同步到一个或多个从数据库(Slave),从而达到数据备份、负载均衡和故障恢复的目的。在实际操作中,需要在主库上配置二进制日志记录所有更改,并在从库上设置为读取并执行这些日志文件中的变更,确保主从数据库间的数据一致性。在文中,作者详细描述了如何在Mariadb中配置主从复制环境,包括修改配置文件、授权复制权限以及查看主库状态等关键步骤。
延伸阅读
作为当前文章的延伸阅读,仅对当前文章有效。
在深入理解了yum安装与源码编译安装MariaDB数据库的区别以及如何在CentOS 7系统上进行实际操作后,我们不妨进一步探讨数据库管理与运维的最新趋势和技术动态。近期,MariaDB发布了10.7版本,引入了一系列性能优化和新特性,如原生支持Temporal Tables、JSONTABLES等,对于数据库开发者和管理员来说,熟悉这些新功能将有助于提升数据管理效率并保障业务系统的稳定运行。
此外,随着云服务的普及与发展,越来越多的企业选择将数据库部署在云端,阿里云等服务商也推出了针对MariaDB的高可用集群解决方案,用户不仅可以享受到一键部署、自动备份恢复、弹性伸缩等便捷服务,还能通过精细权限管理和日志审计等功能确保数据安全合规。因此,了解和研究云环境下的数据库运维策略,对于提升企业IT基础设施水平至关重要。
同时,在数据库主从复制领域,MySQL 8.0及MariaDB的新版本中增强了GTID(全局事务标识符)功能,简化了主从配置流程,并提高了数据同步的一致性和可靠性。结合最新的数据库监控工具如Prometheus和Grafana,可以实时监测主从复制状态,及时发现并解决潜在问题,这对于构建高性能、高可用的分布式数据库架构具有重要意义。
综上所述,紧跟数据库技术发展潮流,关注MariaDB等开源数据库软件的更新动态,探索云端数据库运维实践与高可用性设计,无疑将助力企业在数字化转型过程中更好地利用数据库这一关键基础设施,以支撑更加复杂多变的业务场景需求。
知识学习
实践的时候请根据实际情况谨慎操作。
随机学习一条linux命令:
clear 或 Ctrl+L - 清除终端屏幕内容。
随便看看
拉到页底了吧,随便看看还有哪些文章你可能感兴趣。
RabbitMQ实战中因API版本问题导致消息丢失的排查与修复 03-12 jQuery元素滚动动画库插件-ScrollMagic 02-09 属性级联同步与实体管理:Hibernate实战案例详解 01-27 jQuery超酷3D包装盒封面旋转特效 05-16 ElSteps组件动态改变当前步骤时样式更新滞后问题的Vue.js解决方案 02-22 java中处理异常的方式和语句 01-13 AI助手的工作原理与限制:无法按特定要求撰写的原因及信息处理分析 12-27 代码写的html网红钟表 12-18 简约大气文艺工作者作品展示网站模板 09-21 本次刷新还10个文章未展示,点击 更多查看。
ClickHouse系统重启情境下的数据丢失风险与应对:写入一致性、同步模式及备份恢复策略实践 08-27 jQuery带放大镜的迷你幻灯片插件 08-16 简约手机UI设计公司网站模板下载 04-30 绿色经典响应式主机服务器托管网站模板 04-25 PostgreSQL中应对密码过期警告:安全更改密码的步骤与注意事项 04-17 docker改tag(docker改配置文件) 03-17 [转载]蓝桥 利息计算(Java) 03-11 jquery文字动画特效插件animatext 01-22 大气简洁手机电子产品展示柜台前端模板 01-22 [转载]ubuntu用户和权限介绍 01-10 可爱毛绒玩具网上商城响应式网站模板 01-05
时光飞逝
"流光容易把人抛,红了樱桃,绿了芭蕉。"