MariaDB安装配置、使用、授权、增删改查以及数据库备份与恢复

目录

1 MariaDB安装

 1.1 MariaDB源配置

 1.2 清空缓存

 1.3 安装MariaDB

2 MariaDB的基本配置

 2.1 启动MariaDB

 2.2 MariaDB进程查看

 2.3  MariaDB数据库初始化

  2.3.1 数据库初始化 

  2.3.2 初始化测试登录

3 MariaDB的使用

 3.1 查看数据库 

 3.2 修改密码

  3.3 创建数据库test

 3.4 进入数据库

  3.5 创建mortal数据表

 3.6 查看数据表

 3.7 查看表结构

 3.8 退出

4 MariaDB增删改查

 4.1 增

 4.2 查

 4.3 删

 4.4 改

5 授权

6 数据库备份与恢复

 6.1 数据库备份

  6.1.1 准备

  6.1.2 备份所有数据库

  6.1.3 单独备份某个库

 6.2 数据库恢复

  6.2.1 准备

  6.2.2 恢复数据库

  6.2.3 查看


1 MariaDB安装

 1.1 MariaDB源配置

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

添加如下内容:

[mariadb]
name=mariadb
baseurl=https://mirrors.ustc.edu.cn/mariadb/yum/10.10/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB 
gpgcheck=1

[mariadb]                              (某个库的名称)

name=                                  (库)

baseurl=                                 (下载库的具体地址)

gpgkey=                               (密钥)

gpgcheck=1                           (开启效验)

 1.2 清空缓存

yum clean all

yum makecache 

 1.3 安装MariaDB

yum -y install mariadb-server mariadb-client

2 MariaDB的基本配置

 2.1 启动MariaDB

systemctl start mariadb

设置开机自启

systemctl enable mariadb

 2.2 MariaDB进程查看

先安装好net工具

yum -y install net-tools

netstat -ntlp | grep 3306

 2.3  MariaDB数据库初始化

为了确保数据库的安全性和正常运转,需要先对数据库程序进行初始化操作。这个初始化操作涉及下面5个步骤。

  1. 设置root管理员在数据库中的密码值(注意,该密码并非root管理员在系统中的密码,这里的密码值默认应该为空,可直接按回车键)。
  2. 设置root管理员在数据库中的专有密码。
  3. 随后删除匿名账户,并使用root管理员从远程登录数据库,以确保数据库上运行的业务的安全性。
  4. 删除默认的测试数据库,取消测试数据库的一系列访问权限。
  5. 刷新授权列表,让初始化的设定立即生效。

  2.3.1 数据库初始化 

mysql_secure_installation

Enter current password for root (enter for none):          初次运行直接回车

设置密码

Switch to unix_socket authentication [Y/n]                     输入y并回车

Change the root password? [Y/n]                                   输入y并回车

New password:                                                              设置root用户密码

Re-enter new password:                                               再次输入密码

Remove anonymous users? [Y/n]                               是否删除匿名用户,输入y回车

Disallow root login remotely? [Y/n]                             是否禁止root远程登录,这里我们输入n

Remove test database and access to it? [Y/n]                是否删除test数据库,输入y回车

Reload privilege tables now? [Y/n]                                 是否重新加载表权限,输入y回车

 

详细版如下:

[root@localhost ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

  2.3.2 初始化测试登录

mysql -uroot -p'刚才设置的密码'

3 MariaDB的使用

【和mysql语句完全一样的】

 3.1 查看数据库 

show databases;

 3.2 修改密码

set password = PASSWORD(‘新密码’);

  3.3 创建数据库test

create database test;

 

 3.4 进入数据库

use test;

 

  3.5 创建mortal数据表

create table mortal(id int,name char(32));

 

 3.6 查看数据表

show tables;

 

 3.7 查看表结构

desc mortal;

 

 3.8 退出

\q 或者 quit 或者exit

\q
quit
exit

    

4 MariaDB增删改查

 4.1 增

给mortal表增加两条数据

insert into mortal(id,name) values(1,"zero"),(2,"one");

 4.2 查

查看id,name字段mortal表的数据

select id,name from mortal;

 4.3 删

删除mortal表中id=2的数据

delete from mortal where id=2;

查看一下是否删除成功

select id,name from mortal;

 4.4 改

更改id=1的字段name=yi

update mortal set name="yi" where id=1;

查看一下是否修改成功

select * from mortal;

5 授权

grant 权限 on 数据库.表名 to 账户@主机名        对特定数据库的特定表授权

grant 权限 on 数据库.* to 账户@主机名                对特定数据库的所有表给予授权

grant 权限一,权限2,权限3 on *.* to 账户@主机名  对所有数据库中的所有表给予多个权限

grant all privileges on *.* to 账户@主机名           对所有数据库和表授权所有权限

(1)创建用户zero和密码zero

create user zero@’localhost’ identified by ‘zero’;

(2)授予用户所有的权限

grant all privileges on *.* to username@’localhost’ identified by ‘password’;

(3)授予zero用户创建test数据库的权限

grant create on test.* to zero@’localhost’ identified by ‘zero’;

(4)查询zero用户的数据库

mysql -uzero -pzero

(5)授予one创建的权限,对于所有的库表生效

grant create on *.* to one@’localhost’ identified by ‘one’;

(6)删除one用户

drop user one;

(7)刷新权限

flush privileges;

6 数据库备份与恢复

 6.1 数据库备份

  6.1.1 准备

删除/tmp目录下所有内容

cd /tmp/
rm -rf *

  6.1.2 备份所有数据库

mysqldump -uroot -p --all-databases > /tmp/db.dump

出现Enter password: 时输入数据库密码回车即可。

 

  6.1.3 单独备份某个库

比如说我们备份test库。

mysqldump -uroot -p test > /tmp/test.sql

 6.2 数据库恢复

  6.2.1 准备

(1)删除数据库test

进入数据库中使用下面命令删除test数据库并退出。

drop database test;

(2)查看是否删除

show databases;

没有test数据库,删除成功,接下来开始恢复数据库。

  6.2.2 恢复数据库

mysql -uroot -p < /tmp/db.dump

出现Enter password: 时输入数据库密码回车即可。

  6.2.3 查看

show databases;

test数据库恢复成功!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《C++避坑神器·十七》找到程序崩溃Bug的一个实用方法:dump调试

在检查程序报错除了断点调试&#xff0c;生成log日志&#xff0c;还有种直接的方法&#xff0c;调试dump文件&#xff0c;该调试方法可以在运行exe程序崩溃时进行调试。文章末尾有下载链接。 头文件 #include "crashdump.h"在mainWindow或主程序最开始处加下面代码…

WebGoat环境搭建

首先安装jdk&#xff0c;此步骤省略…验证 直接打开cmd&#xff0c;输入以下命令&#xff1a; java -version &#xff08;可以查看安装的JDK版本。&#xff09; javac &#xff08;查看java文件编译成的class文件&#xff09; WebGoat下载 WebGoat的下载地址&#xff1a;Relea…

Nerf相关、公式

在3D重建领域&#xff0c;这幅图怎么理解 这张图展示的是“体素剪枝&#xff08;Voxel Pruning&#xff09;”在3D重建中的应用&#xff0c;这是一种利用稀疏性&#xff08;Sparsity&#xff09;来优化3D数据存储和处理的技术。体素剪枝的目的是为了降低存储需求和提高计算效率…

不可思议!中国人民大学与加拿大女王大学金融硕士还能解决金融职场的倦怠期!

职业倦怠期是指在职业生涯中&#xff0c;个体对工作产生的一种疲惫、厌倦和失去兴趣的状态。在这个阶段&#xff0c;人们可能会感到无法集中精力、缺乏动力和创造力&#xff0c;工作效率下降&#xff0c;甚至出现情绪波动和身体健康问题。职业倦怠期是一种常见的心理现象&#…

Python从 0 到 1 系统学习的全面详细内容

这里为大家梳理了一些Python从 0 到 1 系统学习的全面详细内容&#xff0c;想要系统的自学Python&#xff0c;希望我们可以提供一个框架&#xff0c;方便作为参考&#xff0c;学习Python。 1、为什么要学习Python&#xff1f; Python是一种功能强大的编程语言&#xff0c;它具…

【带头学C++】----- 六、结构体 ---- 6.7 共用体以及枚举类型

6.7 共用体以及枚举类型 结构体:结构体用于组合不同类型的数据&#xff0c;每个字段占用独立的内存空间。 共用体:共用体也组合不同类型的数据&#xff0c;但所有字段共享同一块内存。 因此&#xff0c;结构体适合表示具有多个属性的对象&#xff0c;而共用体适合表示可以具…

Linux动静态库

文章目录 静态库制作静态库并发布如何使用第三方静态库方式一方式二&#xff1a;方式三 动态库制作动态库并发布链接动态库方式一方式二方式三方式四 生成共享库参数 动静态库总结 静态库 程序在编译链接的时候&#xff0c;直接将该库拷贝一份到源文件&#xff0c;运行的时候不…

使用docker部署nacos分布式集群

本文目的 在服务器中部署nacos集群&#xff0c;并连接外置数据库关于外置的mysql部署和单例nacos如何部署请看下面的两个链接 如何使用docker部署mysql docker部署容器化mysql5.7-CSDN博客 如何使用docker部署nacos 容器化部署Nacos&#xff1a;从环境准备到启动-CSDN博客…

互联网医院系统:数字化时代中医疗服务的未来

随着数字化时代的发展&#xff0c;互联网医院系统在医疗服务中的作用日益凸显。本文将讨论互联网医院系统的一些关键技术方面&#xff0c;探讨这些技术如何推动医疗服务进入数字化时代。 1. 数据智能与个性化服务 互联网医院系统依赖于大数据分析和人工智能技术&#xff0c;…

android studio导入eclipse项目

网上下载一个老工程&#xff0c;.project文件里有eclipse。 android studio导入eclipse项目 eclipse项目结构 Android studio文件结构 下面是导入步骤&#xff1a; 第一步&#xff0c;打开一个项目。 选择File->New->Import Project 第二步&#xff0c;选择Eclipse项目根…

【LeetCode】每日一题 2023_11_16 最长奇偶子数组(枚举,模拟)

文章目录 刷题前唠嗑K 个元素的最大和题目描述代码与解题思路 结语 刷题前唠嗑 LeetCode? 启动&#xff01;&#xff01;&#xff01; 今天早上概率论期中&#xff0c;被爆杀完之后&#xff0c;下午数电&#xff0c;今天很疲惫很疲惫&#xff0c;一直拖到了现在&#xff0c;终…

70基于matlab的BP神经网络多输入单输出数据结果预测,输出结果包括均方根误差,决定系数

基于matlab的BP神经网络多输入单输出数据结果预测&#xff0c;输出结果包括均方根误差&#xff0c;决定系数。数据可更换自己的&#xff0c;程序已调通&#xff0c;可直接运行。 70 BP神经网络&#xff0c;时间序列预测 (xiaohongshu.com)https://www.xiaohongshu.com/explore/…

esp8266-01固件信息

除了NodeMCU固件&#xff0c;ESP8266芯片还可以使用其他固件&#xff0c;例如官方提供的Espressif Systems的AT固件&#xff0c;或者第三方开发者基于ESP8266芯片开发的其他固件。这些固件提供了不同的功能和编程接口&#xff0c;以满足不同的开发需求。 固件与底层硬件打交道…

11.11作业题

1.不死兔子 def fib(n):if n < 4:return 1else:return fib(n-1) fib(n-2) print("一年后共繁殖{}对兔子".format(fib(12))) 2.输入字符串&#xff0c;判断该字符串是否是回文字符串 s input("请输入一个字符串&#xff1a;") if not s:print("…

TVM编译入门概念 一

最近阅读到陈天奇的一篇文章&#xff0c;链接分享 21年底&#xff0c;他说在三年前也就是2018年左右就完成了基于多层优化的解决方案。 当把全栈解决方案搭建起来并且不断实践之后发现有两种隔阂阻碍整个行业的发展。做一些总结。 本文合适的受众是ai编译器相关的入门级选手或供…

巴菲特再度出手,清仓7家公司股票

KlipC报道&#xff1a;最新数据显示&#xff0c;伯克希尔第三季度总共清仓了7家公司的股份&#xff0c;其中包括动视暴雪、通用汽车、化工巨头塞拉尼斯、亿滋国际、强生、宝洁和联合包裹。 KlipC的合伙人Andi D表示&#xff1a;“此前最新的监管文件显示&#xff0c;伯克希尔哈…

Servlet---从创建项目到部署项目的整个流程

文章目录 创建项目引入Servlet依赖创建目录结构编写代码打包程序部署程序验证程序 创建项目 引入Servlet依赖 为什么需要引入依赖资源呢&#xff1f; Servlet不是标准库自带的&#xff0c;需要从外部引入进来才能使用。如何引入&#xff1f; 利用maven&#xff0c;maven的一个…

泛娱乐社交掀起2万亿市场热潮,Flat Ads独家流量助出海获客

作为产品/服务的提供方&#xff0c;中国企业在几乎所有海外市场&#xff0c;都算是强有力的参与者&#xff0c;在社交泛娱乐领域表现尤为突出。但不同于游戏、电商、工具等其他品类&#xff0c;我们几乎很难对社交泛娱乐下一个精准的的定义。因为随着技术进步、行业发展&#x…

机器视觉双目测宽仪 高温钢板实时无滞后检测

高温钢板在生产中的宽度尺寸检测有很多种方法&#xff0c;本来来介绍一下双目测宽仪&#xff0c;它同样能做到实时检测、超差提示、数据分析、信息存储等功能。 双目测宽仪采用两个工业相机从不同的角度对被测物同时进行测量&#xff0c;两个工业相机就像人的双眼&#xff0c;可…