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

news2025/1/18 3:30:35

目录

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数据库恢复成功!

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

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

相关文章

conda环境下Tesseract:Failed loading language ‘eng‘问题解决

1 问题描述 使用Tesseract进行ocr文字识别&#xff0c;运行识别代码&#xff0c;报错如下&#xff1a; C:\Users\lishu\anaconda3\envs\pt2\python.exe D:/code/ptcontainer/opencv/car_reg.py Traceback (most recent call last): File "D:\code\ptcontainer\opencv\…

C#WPF文本转语音实例

本文介绍C#WPF文本转语音实例 实现方法:使用类库(SpeechSynthesizer )实现的。 一、首先是安装程序包。 二、创建项目 需要添加引用using System.Speech.Synthesis; UI界面 <Windowx:Class="TextToSpeechDemo.MainWindow"xmlns="http://schemas.micr…

著名的《NP问题》是个啥概念?

一、说明 关于复杂问题&#xff0c;始终是计算机科学挡在路前的一块巨石。所谓一个问题有解&#xff0c;但需要秒完成&#xff0c;这相当于说&#xff0c;此类问题无解。还有一类问题是说不清楚到底有没有一个具体解法&#xff0c;该解法能在多项式时间复杂函数上完成&#xff…

mybatis-plus3.5.3.1 支持不同数据源sql适配

mybatis-plus3.5.3.1 支持不同数据源sql适配 背景 最近公司要求支持国产数据库达梦&#xff0c;人大金仓&#xff0c;高斯等数据库&#xff0c;这些数据库与mysql的语法有一些差异&#xff0c;需要做一些兼容操作。 解决问题 1.不同数据库分页不同 2.支持通过参数控制执行…

JQuery ajax 提交数据提示:Uncaught TypeError:Illegal invocation

JQuery ajax 提交数据提示&#xff1a;Uncaught TypeError:Illegal invocation 1 问题描述 用jQuery Ajax向DRF接口提交数据的时候&#xff0c;console提示&#xff1a;Uncaught TypeError:Illegal invocation(未捕获的异常&#xff1a;非法调用)。 这个问题可能有两种原因导…

MatrixOne 实战系列回顾 | 建模与多租户

本次分享主要介绍MatrixOne建模与多租户相关内容。 1 建模 #1 与MySQL的区别 使用create table语句建表和MySQL建表语句基本相同&#xff0c;也有几点要注意。 MatrixOne暂不支持空间数据类型&#xff0c;其他数据类型在保持与 MySQL 命名一致的情况下&#xff0c;在精度与…

android studio导入eclipse项目

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

保护数据库防止数据泄露

为了避免金钱损失、声誉损害、机密性损失、不遵守政府法规等&#xff0c;保护组织的数据至关重要&#xff0c;保护数据库可以保护您的企业免受无数安全威胁&#xff0c;包括权限滥用、数据泄露、数据库注入和其他网络攻击。 选择工具保护数据库 Log360 是一站式 SIEM 解决方案…

element-plus使用el-date-picker组件时,如何禁止用户选择当前时间之后的日时分秒

element-plus使用el-date-picker组件时&#xff0c;如何禁止用户选择当前时间之后的日时分秒 例&#xff1a; 当前时间为2023-11-15 14.24&#xff0c;不能选择这之后的时分秒。&#xff08;禁止用户选择2023-11-15 14.28&#xff09; <el-date-pickerv-model"form.s…

MM MSTA-STATM数据丢失问题

2001工厂的采购视图已经维护了&#xff0c;但是在MSTA里面找不到对应的记录 解决方案&#xff1a; 1、se38 执行程序 RMMMVERW 参考 data were lost in table msta | SAP Community 2、取数逻辑换位置&#xff0c;从marc 取数 附加&#xff1a;RMMMVERW 执行界面 执行后…

nvm安装详细教程(卸载旧的nodejs,安装nvm、node、npm、cnpm、yarn及环境变量配置)

文章目录 一、完全卸载旧的nodejs1、打开系统的控制面板&#xff0c;点击卸载程序&#xff0c;卸载nodejs&#xff08;1&#xff09;打开系统的控制面板&#xff0c;点击程序下的卸载程序&#xff08;2&#xff09;找到node.js&#xff0c;鼠标右击出现下拉框&#xff0c;点卸载…

【Python语言】字典的使用方法总结

目录 1、基本知识 1.1 定义 1.2 定义字典变量 1.3 定义空字典 2、字典的常用方法介绍 2.1 基于key获取value 2.2 嵌套字典 2.3 新增元素 2.4 更新元素 2.5 删除元素 2.6 清空字典 2.7 获取全部的key 2.8 遍历字典 2.9 统计字典内的元素数量 3、 字典常用操作总结…

如何快速搭建Spring Boot接口调试环境并实现公网访问

文章目录 前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统 2.2 创建隧道映射本地端口2.3 测试公网地址 3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址…

Figma语言设置教程:简易切换至中文,提高操作便捷性!

Figma是世界领先的在线协作UI设计工具。它摆脱了Sketch等传统设计软件对设备的依赖&#xff0c;使设计师可以随时随地使用任何设备打开网页浏览器&#xff0c;轻松实现跨平台、跨时空的设计合作。那么&#xff0c;Figma如何改变中文&#xff0c;以提高国内设计师的使用体验呢&a…

ZOC8 for Mac:最佳终端仿真器,助力您的工作效率飞升!

在现代的工作环境中&#xff0c;终端仿真器扮演着不可或缺的角色。无论是开发人员、系统管理员还是网络工程师&#xff0c;都需要一个功能强大、易于使用的终端仿真器来处理各种任务。而ZOC8 for Mac正是为这些专业人士而打造的最佳选择。 作为一款全功能的终端仿真软件&#…

聊天即绘画,我来给好说 AI 当「甲方」

很多人说 “AI 能解放生产力”&#xff0c;放几个月前&#xff0c;小编并不这么想。用过 SD 画图的朋友都知道&#xff0c;拟提示词、调参数那都是脑力活&#xff0c;反复试错的过程就像在操纵机器、给 AI 打下手。 但最近&#xff0c;好说上线了 “聊天即绘画” 的 AI 绘画 2…

解决:Android TextView 设置斜体后右侧文字被遮挡

一、问题说明 遇到一个比较奇怪的情况&#xff0c;给 TextView 文字设置倾斜后&#xff0c;右侧的文字会被遮挡&#xff0c;感觉这应该是 Android 的一个 bug &#xff01; 上代码&#xff1a; <TextViewandroid:id"id/tv_title"android:layout_width"wra…

【Git企业开发】第八节.企业级开发模型和企业级项目管理实战

文章目录 前言一、企业级开发模型 1.1 系统开发环境 1.2 Git分支设计规范二、企业级项目管理实战 2.1 DevOps研发平台 2.2 开发场景-基于git flow模型的实践 2.3 环境bug修复总结 前言 一、企业级开发模型 我们知道&#xff0c;一个软件从零开始到最终…

新手小白看过来——带你快速入门跨境电商

近几年来&#xff0c;国内外贸交易是越来越火爆&#xff0c;其中跨境电商成为了2023年的热门风口行业&#xff0c;尽管现在做跨境电商的从业者有很多&#xff0c;但仍然有许多0基础小白想通过跨境电商获取人生的第一桶金&#xff0c;那么新手应该如何在跨境电商领域取得成功呢&…

亲测:你这些网站都不知道,哪来时间去摸鱼?

一些我常用且好用的在线工具 Postcat - 在线API 开发测试工具 postcat.com/ API 开发测试工具 Postcat 是一个强大的开源、免费的、跨平台&#xff08;Windows、Mac、Linux、Browsers...&#xff09;的 API 开发测试工具&#xff0c;支持 REST、Websocket 等协议&#xff08…