DBA 1 - 1

数据库 01day

7台机器 50-56
[root@room9pc01 ~]# clone-vm7
Enter VM number: 1
IP:192.168.4.50 /51 /52 /53 /54 /55 /56

===============================================
服务器CPU  内存  存储
操作系统的版本:W   L    U
                  rhel7
5.7
装包: 源码  RPM  包的来源   软件的版本

                    RDBMS   NoSQL Redis Mongodb
主流数据库服务软件:Oracle  DB2   MySQL  MariaDB  
                   SQL SERVER 
开源软件
商业软件
跨平台

开源软件不等于免费!

------------------
关系型数据库 :  关系型数据库软件提供的数据库服务存储数据的时候必须按照预先设计好的结构去存储数据,按预定义的数据存储结构去存储数据,并且数据之间可以关联操作查询。
关系型数据库RDBMS:Oracle  DB2   MySQL  MariaDB   SQL SERVER 
非关系型数据库 : 非关系型数据库软件提供的数据库服务存 往数据库里存储数据的时候,可以不事先定义存储数据的格式,想怎么存就怎么存。(比方说我存几个值,这几个值类型都不是固定的,不用预先设定数据存储的格式! 可以自用灵活的根据你现在数据的产生的数据去存储数据)
非关系型数据库NoSQL: Redis Mongodb
NoSQL:不仅仅是SQL

开源软件
商业软件
跨平台:

Oracle  DB2   跨平台,不开原
MySQL  MariaDB 既开源 又跨平台!
SQL SERVER:不开原,不跨平台 纯商业软件!

rhel7 是14年发行的
在生产环境下,包不追求最新,追求最稳定版!

软件包: 生产环境中,系统ios光盘中 会把发行系统当年用到的各个常用的软件包 像apache但是没有nginx

源码 : 自定义安装,想用什么功能自己就调用什么选项,但是缺点就是你在配置的时候 想装这个包提供什么功能,你当前的操作系统 必须有对应提供功能的软件 必须装上,必须需要解决依赖关系,解决依赖关系比较麻烦。
RPM : 安装卸载比较方便,但是软件安装什么功能,安装路径等配置文件,都是别人封装好的,编译好的,直接用rpm命令安装卸载!
--------------------------------------------------

本次实验用的是  社区开原版,5.7的!

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
一搭建数据库服务器 
在IP地址是192.168.4.50 主机 上运行mysql数据库服务。

#####################################################
[root@room9pc01 ~]# scp '/root/桌面/mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar' 192.168.4.50:/root/
[root@host50 ~]# tar -xvf mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar 
[root@host50 ~]# ls *.rpm

[root@host50 ~]# rm -rf mysql-community-server-minimal-5.7.17-1.el7.x86_64.rpm 
[root@host50 ~]# yum -y install perl-JSON
[root@host50 ~]# rpm -Uvh mysql-community-*.rpm
[root@host50 ~]# systemctl start mysqld
[root@host50 ~]# systemctl enable mysqld
[root@host50 ~]# systemctl status mysqld

[root@host50 ~]# ps -C mysqld

[root@host50 ~]# netstat  -utnlp  | grep  mysqld

++++【【【查看mysql服务是否起来 ,可以查看三个命令。 】】】
[root@host51 ~]# systemctl status mysqld
[root@host51 ~]# ps -C mysqld
[root@host51 ~]# ps aux | grep mysqld
主:不管什么服务 不能只根据"systemctl status XXX" 来判断!!

[root@host50 ~]# rpm -qa | grep -i mysql

[root@host50 ~]# which mysql
/usr/bin/mysql
[root@host50 ~]# rpm -qf /bin/mysql
mysql-community-client-5.7.17-1.el7.x86_64

[root@host50 ~]# ls /var/log/mysqld.log 
/var/log/mysqld.log
[root@host50 ~]# grep -i password /var/log/mysqld.log
.....@localhost: uqf=pod?p3ZC   #//uqf=pod?p3ZC 为初始密码  5.7版本以后都有初始密码

[root@host50 ~]# mysql -hlocalhost -uroot -p'uqf=pod?p3ZC'      //通过初始密码进入数据库
.. .. ..
mysql> show databases;       //通过初始密码无法进行操作,需要修改密码
mysql> set global validate_password_policy=0;        只检查密码的长度    

mysql> set global validate_password_length=6;        密码长度不能小于6个字符

mysql> alter user root@"localhost" identified by "123456";

mysql> quit
Bye

[root@host50 ~]# mysql -hlocalhost -uroot -p123456            //修改后的密码再次进入数据库,验证一下。
.. ... ....
【让密码策略永久生效】
[root@host50 ~]# vim /etc/my.cnf
[mysqld]
validate_password_policy=0
validate_password_length=6

[root@host50 ~]# systemctl restart mysqld


为数据库账号修改密码:
mysqladmin  [-u用户名]  [-p[旧密码]]  password  '新密码'
=========================================
mysql> show database \c
mysql> show database/c
    -> \c
mysql> 
mysql> '
    '> \c
    '> '
    -> \c
mysql> 
==================================================
2.4 sql命令使用规则?
2.5 sql命令分类?
#命令不区分大小写!  以分号结尾; 默认不支持table补齐 (可以网上下载插件,不建议用)

2.6 管理数据库的sql命令
查看  show  databases;
创建  create  database  库名;
切换  use  库名;  
删除  drop   database  库名;   
显示当前所在的库      select  database();

– Show databases; // 显示已有的库
// 切换库
– Use 库名 ;
– Select database(); // 显示当前所在的库
– Create database 库名 ; // 创建新库
// 显示已有的表
– Show tables;
– Drop database 库名; // 删除库

库管理命令 ( 续 1)
• 数据库的命名规则
– 可以使用数字 / 字母 / 下划线,但不能纯数字
– 区分大小写,具有唯一性
– 不可使用指令关键字、特殊字符
+++++++++++++++++++++++++
++++++++++++++++++++++++++
2.7 管理表的 sql命令###
表管理命令
• 新建指定名称的表

– create table 库名 . 表名 (
字段名 1 字段类型 ( 宽度 ) 约束条件 ,
字段名 2 字段类型 ( 宽度 ) 约束条件 ,
.. ..
字段名 N 字段类型 ( 宽度 ) 约束条
);

表管理命令 ( 续 1)
• 表 类似于系统的文件

– Desc 表名 ; // 查看表结构
– Select * from 表名; // 查看表记录
– Drop table 表名 ; // 删除表

记录管理命令
• 记录 类似于文件里的行

– Select * from 表名 ; // 查看表记录
– Insert into 表名 values( 值列表 );// 插入表记录
– Update 表名 set 字段 = 值 ; // 修改表记录
– Delete from 表名 ; // 删除表记录
+++++++++++++++++++++++++++
案例
mysql> create database db1;

mysql> use db1;
Database changed
mysql> create table t1(
    -> name char(15),
    -> class char(7)
    -> );
Query OK, 0 rows affected (0.58 sec)

mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| t1            |
+---------------+
1 row in set (0.00 sec)

mysql> 
mysql> desc t1;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| name  | char(15) | YES  |     | NULL    |       |
| class | char(7)  | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
2 rows in set (0.01 sec)

mysql> select * from t1;
Empty set (0.00 sec)

mysql> 

mysql> insert into t1 values("libai","nsd1803"),("dufu","nsd1803");                                         

mysql> select * from t1;

mysql> update t1 set class="nsd1809";

mysql> select * from t1;

mysql> delete from t1;

mysql> select * from t1;

mysql> show tables;

mysql> desc t1;

mysql> drop table t1;

mysql> select * from t1;

mysql> show tables;

mysql> 

=======================================================
--------------------------------------------------------------------------

==============================================
mysql> show databases;


mysql> use db1;
Database changed
mysql> create table 学生信息表2(
    -> 姓名 char(15),
    -> 班级 char(7)
    -> ) DEFAULT CHARSET=utf8;

mysql> insert into 学生信息表2 values("崔志伟","nsd1802");

mysql> select * from 学生信息表2 ;

=================================================================
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
数值类型

整数型       //默认 范围(有符号)
例如 tinyint

create table db1.t2(            //范围(有符号
level tinyint
);
insert into t2 values(25);

create table db1.t3(
level tinyint unsigned            /unsigned 范围(无符号)
);
insert into t3 values(251);

【浮点型】
create table db1.t4(
pay double(5,2)
);
insert into t4 values(999);
insert into t4 values(111.223);

select * from db1.t4;

整数.小数  总位数


字段名  类型
           float(m,n)
++++++++++++++++++++++++++++++++++++++++++++++
字符类型】】】】】】
• 定长: char( 字符数 )        # 如果不指定字符数 默认就是1位       
– 最大长度 255 字符
– 不够指定字符数时在右边用空格补齐
– 字符数断超出时,无法写入数据。

• 变长: varchar( 字符数 )        ## 如果不指定字符数  语法错误   
– 按数据实际大小分配存储空间
– 字符数断超出时,无法写入数据。

65532  ??
• 大文本类型: text/blob
– 字符数大于 65535 存储时使用

char处理效率高
varchar 节省空间, 但在生产环境中多用char 少用varchar
-------------------------------------------------------------
t1                        t2
name  varchar ()            name char()
lucy                    lili
le                    le
a                     a
---------------------------------------------------------------------------------
create table t5(
name char(15),
emali varchar(30)
);
insert into t5 values("bob","bob@163.com"),("lucy","lucy@sina.com.cn");

select * from db1.t5;

=========================================================================
枚举类型】】】】】】】】】】
• 从给定值集合中选择单个值, ENUM
– 定义格式: enum( 值 1, 值 2, 值 N)




• 从给定值集合中选择一个或多个值, SET
– 定义格式: set( 值 1, 值 2, 值 N)

create table t6(
name char(15),
age tinyint unsigned,
pay float(7,2),
sex enum("boy","girl","no"),
likes set("woman","money","game","eat")
);

mysql> desc db1.t6;

mysql> insert into t6 values("bob",21,2000,"no","eat,game");
Query OK, 1 row affected (0.08 sec)

mysql> select * from db1.t6;
+------+------+---------+------+----------+
| name | age  | pay     | sex  | likes    |
+------+------+---------+------+----------+
| bob  |   21 | 2000.00 | no   | game,eat |
| bob  |   21 | 2000.00 | no   | game,eat |
+------+------+---------+------+----------+
2 rows in set (0.00 sec)

mysql> 
============================================================

【【【日期时间类型】】】】】


mysql> create table t7(
    -> name char(15),
    -> syear year,
    -> birthday date,
    -> up_class time,
    -> party datetime
    -> );


mysql> insert into t7 values("yaya",1990,20181120,083000,20180618213000);
Query OK, 1 row affected (0.05 sec)

mysql> desc db1.t7;

mysql> select * from db1.t7;

 


【【MySQL 内置时间函数的使用】】
使用时间函数获取数据给日期时间类型字段赋值

mysql> select now();


mysql> select year(now());


mysql> select date(now());


mysql> select month(now());


mysql> select day(now());


mysql> select time(now());


mysql> select year(20191120);


mysql> select date(20191120);


mysql> select time(20191120);


mysql> select month(20191120);


mysql> select curdate();


mysql> select curtime();


mysql> 

案例:   使用函数给 t7表 赋值      (使用时间函数获取数据给日期时间类型字段赋值)
mysql> create table t7(
    -> name char(15),
    -> syear year,
    -> birthday date,
    -> up_class time,
    -> party datetime
    -> );

mysql> desc t7;

mysql> insert into t7 values("jing",year(19901120),date(now()),083000,now());

mysql> select * from t7;

3 rows in set (0.00 sec)

mysql> 

【【【 datetime 与 timestamp的区别  】】】】
——(如果不给timestamp 赋值  默认自己写入 系统默认日期时间, datetime如果不给值,那就为空NULL)

案例::::
mysql> create table t8(
    -> name char(5),
    -> meetting datetime,
    -> party timestamp
    -> );
Query OK, 0 rows affected (0.21 sec)

mysql> desc t8;

mysql> insert into t8 values ("bob",now(),now());

mysql> select * from t8;

mysql> insert into t8(name,meetting) values ("lucy",20191120214858);   『//指定给某些字段赋值时,可以列出来   只给name,meetting 写值』
Query OK, 1 row affected (0.05 sec)

mysql> select * from t8;


mysql> insert into t8(name,party) values ("lucy",20191120214858);     //指定给某些字段赋值时,可以列出来   只给name,party 写值』
Query OK, 1 row affected (0.34 sec)

mysql> select * from t8;


mysql> 

注意: NULL 为空

---------------------------------------------------------------------------
数值类型宽度数 字符类型宽度 的区别
int 默认是11位宽度数

age  int(2)

默认用空格补位

name char(2) 

案例::::
mysql> create table t12(
    -> name char(5),
    -> level int(3) zerofill,        //zerofill 意思是用0补位
    -> money int(5) zerofill
    -> );

mysql> desc t12;

mysql> insert into t12 values("swk",18,29);
Query OK, 1 row affected (0.03 sec)

mysql> select * from t12;


mysql> insert into t12 values("zbj",8,222229);
Query OK, 1 row affected (0.31 sec)

mysql> select * from t12;


mysql> insert into t12 values("ts",888,2222);
Query OK, 1 row affected (0.05 sec)

mysql> select * from t12;


mysql> 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
安装 MySQL (续 2 )     准备工作
– 停止 mariadb 服务
– 删除文件 /etc/my.cnf
– 删除数据
– 卸载软件包
[root@localhost ~]# systemctl stop mariadb
[root@localhost ~]# rm -rf /etc/my.cnf
[root@localhost ~]# rm -rf /var/lib/mysql/*
[root@localhost ~]# rpm -e --nodeps mariadb-server mariadb
警告: /var/log/mariadb/mariadb.log 已另存为 /var/log/mariadb/
mariadb.log.rpmsave

注意注意注意注意::如果mysql数据库也坏了,可以用rpm -e --nodeps跟 包 名字  》 一个一个的把包删除了,然后再重新安装。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于微信小程序的家政服务预约系统采用PHP语言和微信小程序技术,数据库采用Mysql,运行软件为微信开发者工具。本系统实现了管理员和客户、员工三个角色的功能。管理员的功能为客户管理、员工管理、家政服务管理、服务预约管理、员工风采管理、客户需求管理、接单管理等。客户的功能为查看家政服务进行预约和发布自己的需求以及管理预约信息和接单信息等。员工可以查看预约信息和进行接单。本系统实现了网上预约家政服务的流程化管理,可以帮助工作人员的管理工作和帮助客户查询家政服务的相关信息,改变了客户找家政服务的方式,提高了预约家政服务的效率。 本系统是针对网上预约家政服务开发的工作管理系统,包括到所有的工作内容。可以使网上预约家政服务的工作合理化和流程化。本系统包括手机端设计和电脑端设计,有界面和数据库。本系统的使用角色分为管理员和客户、员工三个身份。管理员可以管理系统里的所有信息。员工可以发布服务信息和查询客户的需求进行接单。客户可以发布需求和预约家政服务以及管理预约信息、接单信息。 本功能可以实现家政服务信息的查询和删除,管理员添加家政服务信息功能填写正确的信息就可以实现家政服务信息的添加,点击家政服务信息管理功能可以看到基于微信小程序的家政服务预约系统里所有家政服务的信息,在添加家政服务信息的界面里需要填写标题信息,当信息填写不正确就会造成家政服务信息添加失败。员工风采信息可以使客户更好的了解员工。员工风采信息管理的流程为,管理员点击员工风采信息管理功能,查看员工风采信息,点击员工风采信息添加功能,输入员工风采信息然后点击提交按钮就可以完成员工风采信息的添加。客户需求信息关系着客户的家政服务预约,管理员可以查询和修改客户需求信息,还可以查看客户需求的添加时间。接单信息属于本系统里的核心数据,管理员可以对接单的信息进行查询。本功能设计的目的可以使家政服务进行及时的安排。管理员可以查询员工信息,可以进行修改删除。 客户可以查看自己的预约和修改自己的资料并发布需求以及管理接单信息等。 在首页里可以看到管理员添加和管理的信息,客户可以在首页里进行家政服务的预约和公司介绍信息的了解。 员工可以查询客户需求进行接单以及管理家政服务信息和留言信息、收藏信息等。
数字社区解决方案是一套综合性的系统,旨在通过新基建实现社区的数字化转型,打通智慧城市建设的"最后一公里"。该方案以国家政策为背景,响应了国务院、公安部和中央政法会议的号召,强调了社会治安防控体系的建设以及社区治理创新的重要性。 该方案的建设标准由中央综治办牵头,采用"9+X"模式,通过信息采集、案(事)件流转等手段,实现五级信息中心的互联互通,提升综治工作的可预见性、精确性和高效性。然而,当前社区面临信息化管理手段不足、安全隐患、人员动向难以掌握和数据资源融合难等问题。 为了解决这些问题,数字社区建设目标提出了"通-治-服"的治理理念,通过街道社区、区政府、公安部门和居民的共同努力,实现社区的平安、幸福和便捷。建设思路围绕"3+N"模式,即人工智能、物联网和数据资源,结合态势感知、业务分析和指挥调度,构建起一个全面的数据支持系统。 数字社区的治理体系通过"一张图"实现社区内各维度的综合态势可视化,"一套表"进行业务分析,"一张网"完成指挥调度。这些工具共同提升了社区治理的智能化和效率。同时,数字社区还提供了包括智慧通行、智慧环保、居家养老和便民服务等在内的多样化数字服务,旨在提升居民的生活质量。 在硬件方面,数字社区拥有IOT物联网边缘网关盒子和AI边缘分析盒子,这些设备能够快速集成老旧小区的物联设备,实现传统摄像设备的智能化改造。平台优势体现在数字化能力中台和多样化的应用,支持云、边、端的协同工作,实现模块化集成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值