技术标签: mariadb 运维 服务器 mysql 数据库
一、基础概念
【数据库发展史】
文件系统:编写应用程序不方便,数据冗余不可避免、不支持对文件的并发访问、数据间联系弱、可视化效果差、无安全控制功能】
数据库管理系统DBMS:相互关联的数据的集合、较少的数据冗余、程序域数据相互独立、数据的安全性、可靠、数据可以并发使用
【数据库管理系统】
数据库管理系统基本功能
数据库系统的架构
【关系型数据库,(非关系型数据库,性能更好(no SQL 、not only SQL、memcached redis))】
1.RDBMS:
Mysql:Mysql、**mariaDB**、Percona Server
PostgreSQL:pgsql、EnterpriseDB
Oracle:
MSSQL:
DB2:
2.事务transaction:多个操作被当成一个整体对待:
ACID:
A:原子性
C:一致性
I:隔离性
D:持久性
联系类型
一对一:
一对多:
多对多:
【数据三要素】
数据结构:
数据类型、内容、性质有关的对象,比如关系型中的域、属性和关系;
与数据间联系有关的对象,它从数据组织层表达数据记录与字段的结构
数据的操作:
数据的提取:SELECT
数据的编辑:INSERT、DELETE、UPDATE
数据的约束条件:
实体(行)完整性:
域(列)完整性:
参考完整性:
【简易数据规划流程】
第一阶段:收集数据,得到字段
第二阶段:把字段分类,归入表,建立表的关联
第三阶段:规范化数据库
6种范式:
1NF:无重复的列,同一列中不能有多个值,不能有多种属性。不满足第一范式的数据库就不是关系型数据库。 2NF:属性完全依赖于主键,必须满足1NF,要求表中的每个行可以被唯一的区分。【主键、复合主键】
3NF:属性不依赖于其他属性,必须先满足2NF,第三范式要求一个数据库表中不包含一再其他表中已包含的非关键字信息,非PK的字段间不能有从属关系。
SQL概念:
Sql:Structure Query language结构化查询语句
》SQL解释器:
》数据存储协议:应用层协议,C/S
S:server,监听与套接字,接收并处理客户端的请求
C:Clent客户端接口:
GLI
GUL
编程接口:
ODBC:
JDBC:
基本概念
【索引】:将表中的一个或者多个字段中的数据复制一份另存,并且需要按特定的次序排序存储
关系运算:
选择:筛选出符合的行
投影:挑选出需要的字段
连接:表间字段的关联
【数据模型】:
【数据抽象】:
物理层:存储格式
逻辑层:DBA角度,描述存储什么数据,数据间的联系
视图层:用户角度
关系模型的分类:
关系模型:
基于对象的关系模型:
半结构化关系模型:XML文件
Mysql发展史:
1979年:TcX 公司 Monty Widenius
1996年:mysql 1.0 linux版本
1999年:Mysql AB公司,瑞典
2003年:mysql 5.0版本,视图、存储过程
2008年:Sun收购
2009年:Oracle收购Sun
2009年:Monty成立MariaDB
官方网站:
mysql:www.mysql.com
mariadb:www.mariadb.org
官方文档:
https://dev.mysql.com/doc/
https://mariadb.com/kb/en/
版本:
mysql:5.1-->5.5-->5.6-->5.7
mariadb:5.5-->10.0-->10.1-->10.2-->10.3
二、安装
【MariaDB的特性】
插件式的存储引擎:也称为表类型,存储管理器有多种实现版本,功能和特性略有差别,用户可以根据自己的需要灵活选择,mysql5.5开始innoDB引擎是mysql默认引擎。
MyISAM==>Aria
InnoDB==>XtraDB
单进程,多线程
诸多扩展和特性
较多的测试组件
开源
【安装MariaDB】
方式:
1.源代码:编译安装(难)
2.二进制格式的程序包:展开至特定的路径,简单配置后可使用(偏难)
3.程序包管理器管理的程序包(简单)Centos 7:MariaDB-server 服务器包
MariaDB 客户端工具包
centos安装光盘 项目官方:https://downloads.mariadb.org/mariadb/repositories
方式一、centos 7 yum 安装MariaDB-server
yum 安装指定的版本 从官网获取mariadb 的指定版本的yum源,添加的到yum源里,(/etc/yum.repo/mariadb.repo)
https://downloads.mariadb.org/
系统源里有旧的版本,我们添加新版本的yum源,yum install 会安装哪个版本? 新的
【阿里、清华、中科院都有相关的yum源,国内速度快】 yum install mariadb-server
【1】下载安装
[root@localhost ~]# yum install mariadb-server -y #包名
已加载插件:fastestmirror
base | 3.6 kB 00:00:00
centos-sclo-rh | 3.0 kB 00:00:00
centos-sclo-sclo | 3.0 kB 00:00:00
extras | 2.9 kB 00:00:00
mariadb | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
zabbix | 2.9 kB 00:00:00
zabbix-frontend | 2.9 kB 00:00:00
zabbix-non-supported | 951 B 00:00:00
(1/8): extras/7/x86_64/primary_db | 222 kB 00:00:26
(2/8): base/7/x86_64/primary_db | 6.1 MB 00:00:26
(3/8): centos-sclo-sclo/x86_64/primary_db | 300 kB 00:00:26
(4/8): centos-sclo-rh/x86_64/primary_db | 2.9 MB 00:00:26
(5/8): mariadb/primary_db | 51 kB 00:00:26
(6/8): zabbix/x86_64/primary_db | 58 kB 00:00:25
(7/8): updates/7/x86_64/primary_db | 4.7 MB 00:00:26
(8/8): zabbix-frontend/x86_64/primary_db | 14 kB 00:00:26
Determining fastest mirrors
* base: mirrors.aliyun.com
* centos-sclo-rh: mirrors.aliyun.com
* centos-sclo-sclo: mirrors.huaweicloud.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
软件包 mariadb-server 已经被 MariaDB-server 取代,改为尝试安装 MariaDB-server-10.1.48-1.el7.centos.x86_64
正在解决依赖关系
--> 正在检查事务
---> 软件包 MariaDB-server.x86_64.0.10.1.48-1.el7.centos 将被 安装
--> 正在处理依赖关系 MariaDB-client,它被软件包 MariaDB-server-10.1.48-1.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 MariaDB-client.x86_64.0.10.1.48-1.el7.centos 将被 安装
--> 解决依赖关系完成
依赖关系解决
============================================================================================
Package 架构 版本 源 大小
============================================================================================
正在安装:
MariaDB-server x86_64 10.1.48-1.el7.centos mariadb 24 M
为依赖而安装:
MariaDB-client x86_64 10.1.48-1.el7.centos mariadb 10 M
事务概要
============================================================================================
安装 1 软件包 (+1 依赖软件包)
总下载量:34 M
安装大小:169 M
Downloading packages:
(1/2): MariaDB-client-10.1.48-1.el7.centos.x86_64.rpm | 10 MB 00:00:29
(2/2): MariaDB-server-10.1.48-1.el7.centos.x86_64.rpm | 24 MB 00:00:29
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 1.2 MB/s | 34 MB 00:00:29
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : MariaDB-client-10.1.48-1.el7.centos.x86_64 1/2
正在安装 : MariaDB-server-10.1.48-1.el7.centos.x86_64 2/2
验证中 : MariaDB-server-10.1.48-1.el7.centos.x86_64 1/2
验证中 : MariaDB-client-10.1.48-1.el7.centos.x86_64 2/2
已安装:
MariaDB-server.x86_64 0:10.1.48-1.el7.centos
作为依赖被安装:
MariaDB-client.x86_64 0:10.1.48-1.el7.centos
完毕!
【查看mysql路径】
[root@localhost ~]# which mysql
/usr/bin/mysql
【可以看出mysql是依赖于mariaDB这个包】
[root@localhost ~]# rpm -qf /usr/bin/mysql
MariaDB-client-10.1.48-1.el7.centos.x86_64
【mysql安装好以后未启动,所以没有生成sql.Sock文件】
[root@localhost ~]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2 "No such file or directory")
【启动mariaDB】
[root@localhost ~]# systemctl start mariadb
【查看端口】
[root@localhost ~]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 964/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1070/master
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 2173/zabbix_agentd
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2162/php-fpm: maste
tcp6 0 0 :::80 :::* LISTEN 2185/httpd
tcp6 0 0 :::22 :::* LISTEN 964/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1070/master
tcp6 0 0 :::10050 :::* LISTEN 2173/zabbix_agentd
tcp6 0 0 :::3306 :::* LISTEN 127877/mysqld
【mariadb初始root空密码】
[root@localhost ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.48-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
查看安装MariaDB包含的包列表
#rpm -ql MariaDB-server
启动后查看进程情况====》单进程多线程
当前数据库的基本信息,\s
数据库相关文件路径(默认,可以通过rpm -ql MariaDB-Server 查看路径)
数据存储路径-磁盘下 数据文件、sock文件(每个数据库生成一个文件夹)
一个数据库对应一个数据文件(/var/lib/mysql/) 是否可以通过复制文件夹生成数据库?
所以,可以通过拷贝文件夹或者导入文件夹进行备份/恢复 但是,不适用,因为拷贝的时候可能也会生成数据,数据不一致,拷贝也会花时间
数据库安全性
mysql_secure_installation
设置数据库管理员root密码
禁止root远程登录
删除anonymous用户账户
删除test数据库
直接使用mysql 不写用户名,默认登录root用户,拥有所有权限。----不安全
默认陌生账号都可以登录数据库,并有权限登录。-----不安全
查看数据库的默认用户信息
可以看出,root空密码、匿名账号随便登录。----不安全
所有,设置root密码、删除匿名账号,使用mysql_secure_insatllation脚本进行。(系统自带脚本)
设置root密码、删除匿名用户、禁止root远程登录、删除测试数据库
添加安全措施前VS后,
数据库的用户名=用户名@主机,
MariaDB 程序
【客户端程序】
mysql:交互式CLI攻击
mysqldump:备份工具,基于mysql协议向Mysqld发出查询请求,并将查询得到的数据转换为insert等语句保存在文本中
mysqladmin:基于mysql协议管理mysqld
mysqlimport:数据导入攻击
【MyISAM存储引擎管理工具】
myisamchk:检查MyISAM表
myisampack:打包MyISAM表,只读
【服务器端程序】
mysql_safe:
mysqld:
mysqld_multi:多实例,比如mysqld_multi —example,一个软件在一个机器上跑多份,节约成本。(测试环境)端口不重复
用户账号
mysql用户账号=“username”@“host” host 限制此用户可通过哪些远程主机连接mysql服务器
%通配符,匹配任意长度的任意字符
>10.160.1.18/2255.255.255.0 或者10.160.%.%
>_匹配任意单个字符
Mysql 客户端使用
MySQL使用模式:
【交互式模式】
可运行命令行有两类:
客户端命令:\h ,help \s,status
服务端命令:Sql,需要语句结束符;
【脚本模式,两种方式】
mysql -uroot -ppasswd1! </sqldata/test.sql
mysql > source /sqldata/test.sql
举例:
[root@localhost sqldata]# mysql -uroot -ppasswd1! -e "show databases;drop database testdb2;show databases;"
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| mysqlclon |
| performance_schema |
| testdb |
| testdb2 |
| testdb3 |
+--------------------+
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| mysqlclon |
| performance_schema |
| testdb |
| testdb3 |
+--------------------+
[root@localhost sqldata]#
socket地址
服务器监听的两种socket地址:
ip socket:监听在TCP的3306 port ,支持远程通信
unix sock:监听在sock文件上,仅支持本机通信 如:/var/lib/mysql/mysql.sock host为localhost、127.0.0.1时自动使用unix sock
举例mysql的使用:
运行mysql命令:默认空密码
mysql
mysql>use mysql;
mysql>select user();查看当前用户
mysql>SELECT User,host,password from user;
登录系统:
mysql -uroot -p
客户端命令:本地执行
mysql>help 或者\h
mysql>status 或者\s
服务端命令:
通过mysql协议发往服务器执行并取回结果
每个命令都必须有命令结束符,默认分号
SELECT VERSION();
配置文件 ,路径默认
。。方式一安装结束!!
方式二:二进制包安装,centos7.3 mraiaDB 10.2.36
官网下载二进制(已经编译过的)包安装,官网提供三种安装方式对应的说明及按安装文件。
https://downloads.mariadb.org/提供源码包、二进制包、yum源
1.检查环境
iptable
selinux
mariadb-server
检查mysql用户是否已经存在
2.将下载安装好的二进制包上传到linux上
3.
【注意解压的路径要跟编译过程中指定路径一致,可在官方文档中查看、mysql数据目录的文件权限分配、mysql安装路径的文件权限、添加服务】
开始安装
#创建mysql用户,指定用户数据路径 禁止登录
useradd -r -d /data/mysqldb -s /sbin/nologin mysql
#查看mysql用户的信息
getent passwd mysql
id mysql
#解压二进制包到指定的安装路径下,安装路径在编译安装时已经指定,所以我们只能根据说明进行安装
tar -zxvf mariadb-10.2.36-linux-systemd-x86_64.tar.gz -C /usr/local/
cd /usr/local/
ll
#软链接到mysql路劲下,官网查看得安装路劲为/usr/local/mysql
ln -s mariadb-10.2.36-linux-systemd-x86_64/ mysql
ll
#查看mysql下的文件、还有文件属性
ll mysql/
chown -R root:root mysql/
ll mysql/
ls /usr/local/mysql/bin/
echo PATH=/usr/local/mysql/bin:$PATH >/etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
echo $PATH
#创建数据库存储目录
mkdir /data/
mkdir /data/mysqldb
#查看目录的属性,更改权限
ll -d /data/mysqldb/
chown -R mysql:mysql /data/mysqldb
ll -d /data/mysqldb/
chmod 770 /data/mysqldb
ll -d /data/mysqldb/
cd mysql/
ls
#生成初始数据库,自带脚本,运行脚本生成数据库,在Scr...下
ls scripts/
pwd
#运行脚本生成数据库 指定位置 用户,一定要在/usr/local/mysql/bin下运行!!!
scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql
ll /data/mysqldb/
#配置文件的位置,大、中、小
ls support-files/
cat support-files/my-small.cnf
cat support-files/my-huge.cnf
#将适合自己用的配置文件cp到/etc/my.cnf下,不要改配置文件中的路劲,特别时sock路径!!!
cp support-files/my-huge.cnf /etc/my.cnf
#修改配置文件,指定数据文件路径datadir =
vim /etc/my.cnf
#拷贝脚本作为服务启动脚本,添加为服务mysqld
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --list
chkconfig --add mysqld
chkconfig --list
#启动MySQL 并查看端口3306
service mysqld start
netstat -nltp
#设置root密码,安全加固
mysql
mysql_secure_installation
mysql -uroot -p
#安装完毕
方式二 、二进制包安装结束
方式三、源码编译安装
1.在官网下载源码包
2.安装依赖包
yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel ncurses-devel gnutls-devel libxml2-devel openssl openssl-devel libevent-devel libaio-devel
3.创建用户和数据目录、安装路径(mysql为所有者,不然编译的时候我们指定了路径,但是没有权限写入文件,启动会失败)
数据库数据目录
mkdir -pv /data/mysqldb
chown mysql:mysql /data/mysqldb
安装路径目录 mkdir -pv /app/mysql
chown mysql:mysql /app/mysql
创建mysql用户
useradd -r -s /bin/false -m -d /data/mysqldb/ mysql
4.解压cmake 编译安装
tar xvf mariadb-10.2.36.tar.gz
cd mariadb-10.2.36/
cmake . \(编译选项)
-DCMAKE_INSTALL_PREFIX=/app/mysql \ #指定安装路径
-DMYSQL_DATADIR=/data/mysqldb/ \ #指定数据路径
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/app/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
#安装
make && make install
#进入安装目录下,运行脚本生成数据库初始文件
cd /app/mysql
ls scripts/
pwd
#准备环境变量
echo PATH=/usr/local/mysql/bin:$PATH >/etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
echo $PATH
#运行脚本生成数据库 指定位置 用户,一定要在/usr/local/mysql/bin下运行!!!
scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql
#查看数据库文件
ll /data/mysqldb/
#置文件的位置,大、中、小(/app/mysql/bin/)
ls support-files/
cat support-files/my-small.cnf
cat support-files/my-huge.cnf
#将适合自己用的配置文件cp到/etc/my.cnf下,不要改配置文件中的路劲,特别时sock路径!!!
cp support-files/my-huge.cnf /etc/my.cnf
#修改配置文件,指定数据文件路径datadir =
vim /etc/my.cnf
#拷贝脚本作为服务启动脚本,添加为服务mysqld
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --list
chkconfig --add mysqld
chkconfig --list
#启动MySQL 并查看端口3306
service mysqld start
netstat -nltp
#设置root密码,安全加固
mysql
mysql_secure_installation
mysql -uroot -p
方式三、安装完成!
多实例,一个主机上安装多个mariaDB(yum安装为例)、源码安装及二进制安装的同理
安装mariaDB-server
yum install MariaDB-server
规划不同数据库实例的数据路径\日志路径\进程文件路径\sock文件路\配置文件\启动脚本路径
mkdir /mysqldb/{
3306,3307,3308}/{
etc,socket,pid,log,data,bin}
tree 查看
mysql 用户权限
chown -R mysql:mysql /mysqldb/
创建数据库文件
mysql_install_db --datadir=/mysqldb/3306/data --user=mysql
mysql_install_db --datadir=/mysqldb/3307/data --user=mysql
mysql_install_db --datadir=/mysqldb/3308/data --user=mysql
tree
原配置文件拷贝——不同实例下
cp /etc/my.cnf /mysqldb/3306/etc/
cp /etc/my.cnf /mysqldb/3307/etc/
cp /etc/my.cnf /mysqldb/3308/etc/
修改每个实例的配置文件,3套配置文件
删除最后一行
datadir=/mysqldb/{
3306-8}/data
socket=/mysqldb/3306/socket/mysql.sock
port=
7. 启动脚本,3套脚本,提前准备好(可以从二进制安装路径下拷贝/usr/bin/mysqld脚本),更改三套脚本,并放在每个实例文件下
cp mysqld /mysq/{
3306,3307,3308}/bin
更改脚本
vim
8.启动服务,先关闭安装好的mariadb
systemctl stop mariadb
脚本文件加权限
chmod 700 /mysqldb/{
3306,3307,3308}/mysqld
启动
/mysqldb/3306/mysqld start
/mysqldb/3307/mysqld start
/mysqldb/3308/mysqld start
9.连接mysql,指定Sock路径
mysql -S /mysqldb/3308/socket/mysql.sock
10.启动成功
更新设置密码,进入数据库以后
update mysql.user set password=password("passwd1!") where user="root"
;
11.更改启动脚本,填写密码等
**MariaDB的三种安装及多实例安装全部结束!**
文章浏览阅读2.1k次。FX3 JLINK调试是一个有些麻烦的事情,经常有些莫名其妙的问题。 设置参见 c:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc\firmware 下的 EzUsbSuite_UG.pdf 文档。 常见问题: 1.装了多个版本的jlink,使用了未注册或不适当的版本 选择一个正确的版本。JLinkARM_V408l,JLinkA_ezusbsuite_qsg.pdf
文章浏览阅读2.6k次。** 本文仅通过用openGL+QT简单实现二进制stl文件读取显示并通过鼠标旋转缩放, 是比较入门的级别,由于个人能力有限,新手级别,所以未能施加光影灯光等操作, 未能让显示的stl文件更加真实。****效果图:**1. main.cpp```cpp#include "widget.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); _qopengl如何鼠标控制旋转
文章浏览阅读943次,点赞22次,收藏19次。以大规模预训练语言模型为基础的chatgpt成功出圈,在近几日已经给人工智能板块带来了多次涨停,这足够说明这一风口的到来。而作为曾经的风口“知识图谱”而言,如何找到其与chatgpt之间的区别,找好自身的定位显得尤为重要。形式化知识和参数化知识在表现形式上一直都是大家考虑的问题,两种技术都应该有自己的定位与价值所在。知识图谱构建往往是抽取式的,而且往往包含一系列知识冲突检测、消解过程,整个过程都能溯源。以这样的知识作为输入,能在相当程度上解决当前ChatGPT的事实谬误问题,并具有可解释性。
文章浏览阅读1.3k次。最重要的一点,一定是degbug的方式启动,不然热部署不会生效,注意,注意!_tomcat热部署
文章浏览阅读10w+次,点赞56次,收藏482次。html5 ,用css去修饰自己的个人主页代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xh..._个人主页源码
文章浏览阅读201次。开发者(KaiFaX)面向全栈工程师的开发者专注于前端、Java/Python/Go/PHP的技术社区来源:开源最前线链接:https://github.com/svenstaro/gen..._程序员怎么上班摸鱼
文章浏览阅读1.3k次。改变Block UI界面的尺寸_ug二次开发 调整 对话框大小
文章浏览阅读1.3w次,点赞18次,收藏291次。基于深度学习的股票预测数据获取数据转换LSTM模型搭建训练模型预测结果数据获取采用tushare的数据接口(不知道tushare的筒子们自行百度一下,简而言之其免费提供各类金融数据 , 助力智能投资与创新型投资。)python可以直接使用pip安装tushare!pip install tushareCollecting tushare Downloading https://files.pythonhosted.org/packages/17/76/dc6784a1c07ec040e74_基于深度学习的股票操纵识别研究python代码
文章浏览阅读2k次。【IT168 厂商动态】 近日,北京中科网威(NETPOWER)工业级防火墙通过了中国电力工业电力设备及仪表质量检验测试中心(厂站自动化及远动)测试,并成为中国首家通过电力协议访问控制专业测评的工业级防火墙生产厂商。 北京中科网威(NETPOWER)工业级防火墙专为工业及恶劣环境下的网络安全需求而设计,它采用了非X86的高可靠嵌入式处理器并采用无风扇设计,整机功耗不到22W,具备极_电力行业防火墙有哪些
文章浏览阅读206次。/*烟台大学计算机学院 作者:董玉祥 完成日期: 2017 12 3 问题描述:二叉树排序树中查找的路径 */#include #include #define MaxSize 100typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node
文章浏览阅读775次。当时老师一定会告诉你,这个一个"warning"的报警,可以不用管它,也确实如此。不过,这条报警信息我们至少可以知道一点,就是scanf函数调用完之后是有一个返回值的,下面我们就要对scanf返回值进行详细的讨论。并给出在编程时利用scanf的返回值可以实现的一些功能。_c语言ignoring return value
文章浏览阅读9.6k次。十四五规划下,数据安全成为国家、社会发展面临的重要议题,《数据安全法》《个人信息保护法》《关键信息基础设施安全保护条例》已陆续施行。如何做好“数据安全建设”是数字时代的必答题。_数字医疗服务保障方案