Linux-MariaDB数据库的备份与初始化

这篇具有很好参考价值的文章主要介绍了Linux-MariaDB数据库的备份与初始化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

缘起

Linux系统下我们比较常用的数据库软件是开源又免费的MySQL。MariaDB是MySQL的一个分支,采用GPL授权许可,完全兼容MySQL的API与命令行。虽然MariaDB公司即将倒闭,但这不影响它的性能超越MySQL的事实。

数据库备份

使用mysqldump命令。这个命令可以帮助导出一个含有数据库结构与数据的SQL脚本,导出脚本的功能大概是:创建数据库判断语句-删除表-创建表-锁表-禁用索引-插入数据-启用索引-解锁表
要导出所有数据,可以这么用:

mysqldump -uroot -p --host=127.0.0.1 --port=3306 --all-databases >/tmp/full.sql

*其中host 127.0.0.1指数据库所在服务器,需要改为自己在用的。Port是默认的。
*上方命令需要使用者持有root账号密码,如果没有,把-u后面的root替换为使用者持有的拥有相关权限的其他账号名即可。
当然,我们可以通过参数选择只导出部分内容。在这里不做展开。

数据库用户查询

MySQL是一个多用户管理的数据库,并通过权限表来控制用户对数据库的访问,权限表默认放在了mysql数据库中,主要的有user,db,table_priv,columns_prov和procs_priv。这里用户信息,哈希加密用户密码,用户权限等是在user表中。下方的命令可以简单明了的查看user表的主要信息。

use mysql;
select host,user,password from user order by host desc,user desc;

host为%意味着可以在从任何地址连接到服务器。

数据库新建用户

方法一,使用root账户运行下面代码,需要注意的是这种方式创建的用户默认没有任何权限。参考下面的数据库赋权部分分配权限。

create user 'User1'@'%' identified by 'password1';

方法二,使用root账户直接在user表新加。

use mysql;
 
#等同于grant all privileges on *.* to " User1 "@"%" identified by ' password1' with grant option;
 
insert into user values("%","User1",password("password1"),"Y","Y","Y","Y","Y","Y","Y","Y","Y","Y");
flush privileges;
 
#等同于grant select,insert on database1.datatable1 to "User2"@"0.0.0.0" with grant option;
 
insert into user (host,user) values("0.0.0.0","User2");
insert into db values("0.0.0.0","User2","Y","Y","Y","Y","Y","Y","N","N","N","N")
flush privileges;
 

#数据库赋权
使用root账号,运行下面命令,一般权限为以下顺序:select、update、delete、insert、alter、drop、create等

grant all privileges on databse1.* to User1@'%';
#with grant option指可以将update权限传递给其他用户
grant all privileges on databse1.* to User1@'%' with grant option;
#用identified by 'password1'指同时重置密码为password1
grant all privileges on databse1.* to User1@'%' identified by 'password1';
flush privileges;

数据库权限回收

Revoke命令用来回收权限。以下是一些示例

revoke all on *.* from "User3"@"localhost";
revoke all on database1.datatable1 from "User3"@"localhost";
revoke select on *.* from "User3"@"localhost";

数据库更新密码

本质上也是更新User表内容

update user set password=password('newpassword') where user='User1';
flush privileges;

#数据库删除用户
本质上也是更新User表

drop user 'User1'@'localhost'
delete from user where user='User1';
flush privileges;

#数据库复原

source /tmp/full.sql

数据库root密码重置

在全新的安装有MariaDB的机器上,如果我们丢失了root密码,可以在配置文件里做一点调整。
首先,停止MariaDB服务

service mariadb stop

#用vim命令编辑安装目录下配置文件my.cnf,插入一行” skip-grant-tables”,这样我们就可以跳过数据库权限验证
启动服务

service mariadb restart

登陆数据库

mysql -u root

将数据库切换至mysql库

use mysql;

修改密码

update user set password=password('newpasswd') where user='root';

刷新MySQL权限相关的表

flush privileges;

退出

quit;

将之前插入的配置语句注释掉,重启服务,即可使用新密码登陆文章来源地址https://www.toymoban.com/news/detail-610443.html

到了这里,关于Linux-MariaDB数据库的备份与初始化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 日志审计系统Agent项目创建——初始化数据库和日志文件(Linux版本)

    完结,下一篇主要是读取日志文件,并读取最新日志文件

    2024年01月16日
    浏览(67)
  • 【Linux】Mysql的数据库备份及恢复

            备份就是为了防止原数据丢失,保证数据的安全。当数据库因为某些原因造成部分或 者全部数据丢失后,备份文件可以帮我们找回丢失的数据。因此,数据备份是很重要 的工作。 常见数据库备份的应用场景如下: 数据丢失应用场景: 人为操作失误造成某些数据

    2023年04月10日
    浏览(54)
  • Linux系统MySQL数据库的备份及应用

    本节主要学习了MySQL数据库的备份:概念,数据备份的重要性,造成数据丢失的原因,备份的类型,常见的备份方法,实例与应用等。 目录 一、概述 二、数据备份的重要性 三、造成数据丢失的原因 四、备份类型 1、物理与逻辑角度 ①物理备份—对数据库操作系统的物理文件

    2024年02月15日
    浏览(38)
  • 系统学习Linux-MySQL数据库备份(四)

    数据库备份是指将数据库中的数据、表格、视图、存储过程、触发器等信息备份到另一个地方,一遍在数据库丢失或损坏时进行恢复,数据库备份是数据库管理中必不可少的一项工作,通过备份可以保护数据库中的数据和业务。 备份的主要目的是灾难恢复,备份还可以测试应

    2024年02月15日
    浏览(55)
  • 小白带你学习linux的mysql数据库备份(三十)

    目录 一、概述 二、数据备份的重要性 三、造成数据丢失的原因 四、备份类型 1、物理与逻辑角度 1.1物理备份 1.2冷备份 1.3热备份 1.4逻辑备份 2、数据库备份策略角度 1.1完整备份 1.2增量备份 五、常见的备份方法 1、物理备份 2、使用专用备份工具 3、通过启用二进制日志增量

    2024年02月03日
    浏览(55)
  • Centos /Linux环境下利用Docker 安装mysql5.7镜像(含离线安装),启动mysql镜像并初始化数据库

    使用有网的服务器下载好镜像 保存下载好的镜像成tar 将镜像上传到所需服务器(放在固定位置) 导入镜像 注意名称,这里的mysql5.7和上面打包 docker save imageid mysql5.7 的名称一致,本例未改名 查看导入的镜像,并重新命名镜像 创建本地数据库目录、配置文件以及日志目录(

    2024年02月10日
    浏览(74)
  • Windows 安装 MariaDB 数据库

    之前一直使用 MySQL,使用 MySQL8.0 时候,占用内存比较大,储存空间好像也稍微有点大,看到 MariaDB 是用来代替 MySQL 的方案,之前用着也挺得劲,MySQL8.0 以上好像不能去导入低版本的 sql,或者需要改一些东西,但是用着 MariaDB 不用改就可以导入,所以写一下这个的安装 Maria

    2024年02月09日
    浏览(49)
  • MariaDB数据库的主从配置

    首先准备两台可以互相ping通的机器,两台机器可以互为主从,示例:10.210.23.77主服务器 10.20.84.183从服务器 在两台机器上各自安装数据 解压MariaDB安装包;  安装MariaDB依赖包;  启动MariaDB服务  安全配置 # 开始安全配置   ① 输入当前密码,初次安装后是没有密码的,直接回

    2024年02月04日
    浏览(43)
  • MariaDB数据库服务器

    目录 一、什么是数据库? 二、什么是关系型数据库? 三、数据库字符集和排序规则是什么? 四、常用数据类型 五、Mariadb数据库相关配置案例 一、什么是数据库? 数据库(DB)是以一定方式长期存储在计算机硬盘内,能与多个用户共享,具有尽可能小的冗余度、与应用程序

    2024年02月10日
    浏览(41)
  • 使用MariaDB数据库管理系统

    初始化MariaDB服务 //再确认mariadb数据库软件程序安装完毕并成功启动后请不要立即使用。为了确保数据库的安全性和正常运转,需要做以下5个操作 1.设置root管理员在数据库中的密码值(该密码并非root管理员在系统中的密码,这里的密码值默认应该为空) 2.设置root管理员在数据

    2024年02月19日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包