数据库服务概述
数据库管理系统
用于建立、修改、访问和维护数据库。
具有多用户和多任务的特性,支持多个用户和应用程序同时进行操作。
数据库管理员通过DBMS对数据库进行统一的管理和控制。
维护数据的安全性和完整性。
按照数据在数据库中的存储和管理方式分为三种类型,即层次型数据库、网状型数据库和关系型数据库。
关系型数据库
将数据及数据关系用简单的二维表结构表示
行和列组成一张数据表
实体(entity):一张表代表一个实体,是对事物及其关系分类的结果
行(row):表的一行也称为一条记录,代表实体的一个实例
列(column):表的一列也称为一个字段(field),表示实体的一个属性(attribute)
值(value):实例属性的具体取值
键(key):键是表的某1列或某几列,用来识别表中特定的行
数据库服务端配置
Mariadb安装与启停
软件名称:mariadb-server、mariadb ,后台守护进程: mariadb。
yum  install  mariadb-server  mariadb  -y
rpm  -qa  |  grep  mariadb 
systemctl  start | stop | restart | status | enable  mariadb 
数据库初始化及登录
执行mysql_secure_installation命令对数据库进行初始化操作
设置root用户登录数据库时的密码
删除匿名用户
禁止root用户远程登录
删除默认的测试数据库
刷新数据库授权列表,使数据库初始化设置立即生效
使用mysql命令即可登录MariaDB数据库
-u选项后跟登录用户名,-p选项指定需要输入登录密码
mysql_secure_installation 
Enter current password for root (enter for none):	<== 输入root用户密码
Set root password? [Y/n]  y						<== 设置root用户密码
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n]	y				<== 删除匿名用户
Disallow root login remotely? [Y/n]  y				<== 取消root用户远程登录
Remove test database and access to it? [Y/n] y		<== 删除test的数据库及访问权限
Reload privilege tables now? [Y/n] y				<== 刷新授权表使修改生效
[root@centos7 ~]# mysql  -u  root  -p
Enter password: 			<== 输入root用户密码
……
MariaDB [(none)]> quit
Bye 
数据库常用操作 
 
数据库恢复与备份
// 备份全部数据库
mysql  -u  root  -p  -A  > /tmp/backup1.sql
 // 备份db1和db2两个数据库
mysqldump  -u  root  -p  --databases  db1  db2 > /tmp/backup2.sql
 // 备份db1数据库中的表t1
mysqldump  -u  root  -p  --databases  db1  --tables  t1 > /tmp/backup3.sql
 // 备份db1数据库中的表t1里的指定记录
mysqldump -u root -p --databases db1 --tables t1 --where=’id=25’ > /tmp/backup4.sql
 // 备份db1数据库中的表结构
mysqldump  -u  root  -p  --no-data  --databases  db1 > /tmp/backup5.sql
 // 恢复数据库,将数据库备份文件输入重定向至mysqldump
mysqldump  -u  root  -p  < /tmp/backup1.sql 
数据库配置实例
具体配置需求及实现步骤如下:
1、安装MariaDB数据库软件。
yum  install  mariadb-server  mariadb  -y 
2、启动数据库服务
systemctl  restart  mariadb 
3、初始化数据库时设置root用户密码、删除匿名用户和测试数据库,同时禁止root用户远程登录数据库
mysql_secure_installation 
Enter current password for root (enter for none):
Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y 
4、创建新用户mailadmin,密码为ChinaSkill22!
先用root用户登陆数据库
mysql  -u  root  -p 
再新建用户
create  user  mailadmin@'localhost'  identified  by  'ChinaSkill22!' ; 
5、创建数据库maildb
create  database  maildb ; 
6、在maildb中创建表mailbox,包含4个字段,分别是username、pwd、domain、ctime。其中,username是主键。
先使用maildb
use  maildb; 
再创建表
create table mailbox (username varchar(60) primary key, pwd varchar(20), domain varchar(40), ctime datetime) ; 
7、授权mailadmin用户完全操作mailbox表
grant  all  privileges  on  mail.mailbox  to  mailadmin@'%' ; 
8、以mailadmin用户身份登录数据库,切换到maildb数据库。
先退出当前用户
quit 
再登录mailadmin
mysql  -u  mailadmin  -p 
切换到maildb数据库
 use  maildb ; 
9、向mailbox表中插入两条数据,用户名分别为mailuser1@chinaskills.cn和mailuser2@chinaskills.cn,密码默认为123456
insert into mailbox values ('mailuser1@chinaskills.cn', '123456', 'chinaskills.cn', '2022-11-30 11:02:25'); 
insert into mailbox values ('mailuser2@chinaskills.cn', '123456', 'chinaskills.cn', '2022-11-30 11:02:25'); 
select  *  from  mailbox ; 
10、备份mailbox表中数据
先退出
quit
再备份
 mysqldump -u root -p --databases maildb --tables mailbox > /tmp/mailbox.sql 
 ls  -l  /tmp/mailbox.sql 
                








现代C++的第三方库的导入方式: 例如Visual Studio 2022导入GSL 4.1.0](https://i-blog.csdnimg.cn/direct/c61ffae4304b4396bddaf6c49dfb4367.png)








