数据库的发展前引

MySQL的起源与发展过程

最为著名、应用最广泛的开源数据库软件

最早隶属于瑞典的MySQL AB公司

2008年1月,MySQL AB被Sun收购

2009年4月,SUN被Oracle收购

崭新的开源分支MariaDB

为应付MySQL可能会闭源的风险而诞生

由MySQL原作者Widenius主导开发

与MySQL保持最大程度兼容

MySQL的特点及应用

主要特点

适用于中小规模、关系型数据库系统

支持Linux/Unix、Windows等多种操作系统

使用C和C++编写,可移植性强

通过API支持Python/Java/Perl/PHP等语言

典型应用环境

LAMP平台,与Apache HTTP Server组合

LNMP平台,与Nginx组合

常见的信息种类

数值型:体重、身高、成绩、工资

字符型:姓名、工作单位、通信住址

枚举型:兴趣爱好、性别

日期时间型:出生日期、注册时间

使用mysql>管理环境

操作指令类型

MySQL指令:环境切换、看状态、退出等控制

SQL指令:数据库定义/查询/操纵/授权语句

基本注意事项

操作指令不区分大小写(密码、变量值除外)

每条SQL指令以;结束或分隔

不支持Tab键自动补齐

\c可废弃当前编写错的操作指令

配置一个数据库《前引》

在system1上创建一个MariaDB数据库,名为Contacts,并符合以下条件:

¨数据库应该包含来自数据库复制的内容,复制文件的URL为:

http://server1.groupX.example.com/materials/users.sql

¨数据库只能被localhost访问

¨除了root用户,此数据库只能被用户Raikon查询,此用户密码为atenorth

¨root用户的密码为atenorth,同时不允许空密码登陆。

解题参考:

1)安装、配置

[root@serverX~]#yum -y install mariadb-server mariadb

[root@serverX~]#vim/etc/my.cnf

[mysqld]

skip-networking//添加此行,跳过网络

[root@serverX~]#systemctl restart mariadb

[root@serverX~]#systemctl enable mariadb

2)设密码、建库

[root@serverX~]#mysqladmin -u root -p password'atenorth'//设置密码

[root@serverX~]#mysql-u root -p

MariaDB[(none)]>CREATE DATABASE Contacts;

MariaDB[(none)]>GRANT select ON Contacts.* to Raikon@localhost IDENTIFIED BY 'atenorth';

MariaDB[(none)]>DELETE FROM mysql.user WHERE Password='';

//删除空密码账号//!!注意:设好root密码再做

MariaDB[(none)]>QUIT

3)导入库

[root@serverX~]#wget http://classroom/pub/materials/users.sql

[root@serverX~]#mysql -u root -p Contacts < users.sql

http://bj.linux.tedu.cn/达内 Linux云计算学院

数据库查询(填空)

试题概述:

在系统system1上使用数据库Contacts,并使用相应的SQL查询以回答下列问题:

¨密码是solicitous的人的名字?

¨有多少人的姓名是Barbara同时居住在Sunnyvale?

解题参考:

[root@serverX~]#mysql -u root -p

Enter password:

MariaDB[Contacts]>USE Contacts;

MariaDB[Contacts]>SELECT name FROM base WHERE password='solicitous';

MariaDB[Contacts]>SELECT count(*)FROM base,location WHERE base.name='Barbara'location.city='Sunnyvale'AND base.id=location.id;

MariaDB[Contacts]>QUIT


案例1:Centos7x下安装mysql5.7.17    

mysql的安装(root用户下)

[root@serverX~]#wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar

[root@serverX~]#tar -xvf mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar

安装时候会提示与已经安装的RPM包有冲突,所以我们先卸载一些RPM包,要卸载某些呢?我们要卸载的是包含有mariadb关键字的RPM包,执行命令:rpm -qa | grep mariadb来查看一下我们要卸载某种软件

[root@serverX~]# rpm -qa | grep mariadb

[root@serverX~]# rpm -e --nodeps mariadb-libs-5.5.50-1.el7_2.x86_64

[root@serverX~]# rpm -ivh mysql-community-common-5.7.17-1.el7.x86_64.rpm

[root@serverX~]# rpm -ivh mysql-community-libs-5.7.17-1.el7.x86_64.rpm

MySQL需要libnuma.so.1()(64bit)

百胜安装numactl

rpm -ivh mysql-community-server-5.7.17-1.el7.x86_64.rpm

mysqld-初始化--user = mysql

systemctl启动mysqld

猫/var/log/mysqld.log

[注意]为root @ localhost生成了一个临时密码:gaYwAX?!k5nw

mysql -uroot -p

systemctl启用mysqld.service

服务mysqld状态

服务mysqld停止

服务mysqld启动

将*。*上的所有特权授予由'pwd12345'标识的'root'@'%';

同花顺特权; 


                                                                    第一节课综合总结

构建MySQL服务器

数据库基本管理

MySQL数据类型

表结构的调整

1构建MySQL服务器

1.1问题

本案例要求熟悉MySQL官方安装包的使用,快速构建一台数据库服务器:

安装MySQL-server、MySQl-client软件包

修改数据库用户root的密码

确认MySQL服务程序运行、root可控

一准备条件:

[root@host50~]#cat mysql.sh

#/bin/bash

read-p"请输入你的ip:"n

scp/root/桌面/soft.zip$n:/root/

expect<<EOF

spawn ssh$n

expect"password:"{send"123456\r"}

expect"#"{send"unzip soft.zip\r"}

expect"#"{send"tar-xf soft/mysql/mysql-5.7.17.tar\r"}

expect"#"{send"yum-y install perl-Data-Dumper perl-JSON perl-Time-HiRes\r"}

expect"#"{send"rpm-Uvh soft/mysql/mysql-community-*.rpm\r"}

expect"#"{send"exit\r"}

EOF

二、数据库服务的基本使用

2.1使用初始密码在本机连接数据库服务

]#grep password/var/log/mysqld.log

]#mysql -hlocalhost -uroot -p'hqToPwaqf5,g!><'

2.2重置本机连接密码

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

]#mysql-hlocalhost-uroot-p123456

mysql>show databases;

ü 让密码策略永久生效

]#vim/etc/my.cnf

[mysqld]

validate_password_policy=0

validate_password_length=6

:wq

]#systemctl restart mysqld

######################################################################

三步骤:

[root@host50~]#mysql -hlocalhost -p123456

mysql>create database学生库;

mysql>show databases;

mysql>use学生库;

mysql>create table学生表2(姓名char(10),地址varchar(30),性别char(30),手机号char(20))DEFAULT CHARSET=UTF8;

mysql>insert into学生表2 values("李易峰","北京","男","1583882878");

mysql>insert into学生表2 values("井柏然","上海","男","1383882878");

mysql>select*from学生表2;

mysql>create table学生表3(姓名char(10),地址varchar(30),性别char(30),手机号char(20),开学日期year,日期datetime,早上上课时间time,中午下课时间time,晚上下课时间time)DEFAULT CHARSET=UTF8;

mysql>insert into学生表3 values("李易峰","北京","男 ","1583882878","2018","20180616080000","083000","12000","203000");

mysql>create table学生表4(姓名char(10),地址varchar(30),性别char(30),手机号char(20),开学日期year,日期datetime,早上上课时间time,中午课时间time,晚上下课时间time)DEFAULT CHARSET=UTF8;

Query OK,0 rows affected(0.19 sec)

###################################################################

*课后总结

1.客户端把数据储存到数据库服务器的器过程

create database test;

use test;

create table test1(name char(15),address char(30));

desc test1;

instrt into test1 values("lisa","beijing");

instrt into test1 values("lisa","beijing"),("dc","shanghai");

select*from test1;

select name from test1

update test1 set address="shanghai";

select*from test1;

delete*from test1;

select*from test1;

show tables;

drop table test1;

show databases;

drop database test;

show databases;


数据库服务概述,构建MYSQL服务器,数据库基本管理,mysql数据类型,表结构的调整的更多相关文章

  1. Database基础(一):构建MySQL服务器、 数据库基本管理 、MySQL 数据类型、表结构的调整

    一.构建MySQL服务器 目标: 本案例要求熟悉MySQL官方安装包的使用,快速构建一台数据库服务器: 安装MySQL-server.MySQl-client软件包 修改数据库用户root的密码 确认 ...

  2. MySQL之终端(Terminal)管理MySQL

    原文:MySQL之终端(Terminal)管理MySQL 前言:MySQL有很多的可视化管理工具,比如“mysql-workbench”和“sequel-pro-”. 现在我写MySQL的终端命令操作 ...

  3. Decimal为SQL Server、MySql等数据库的一种数据类型

    Decimal为SQL Server.MySql等数据库的一种数据类型,不属于浮点数类型,可以在定义时划定整数部份以及小数部分的位数.使用精确小数类型不仅能够保证数据计算更为精确,还可以节省储存空间, ...

  4. MySQL创建数据库 easyShopping,包括area表、goods表、customer表、orders表、ordersdetall表、test表

    MySQL创建数据库 easyShopping,包括area表.goods表.customer表.orders表.ordersdetall表.test表 商品表表结构: 字段名 说 明 类 型 长 度 ...

  5. 三十.数据库服务概述 构建MySQL服务器 、 数据库基本管理 MySQL数据类型

    mysql50:192.168.4.50 1.构建MySQL服务器 安装MySQL-server.MySQl-client软件包 修改数据库用户root的密码 确认MySQL服务程序运行.root可控 ...

  6. MySql安装和基本管理&mysql语句

    MySql安装和基本管理   本章内容: mysql的安装.启动 mysql破解密码 统一字符编码 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下 ...

  7. mysql之数据库基本概念(mysql学习笔记一)

    数据库系统   数据库管理系统(DBMS)+数据库(DATABASE)(+数据库管理员) DBS=dbms+db 定义: 大量信息进行管理的高效解决方案,按照数据结构来组织.存储和管理数据的仓库 关系 ...

  8. MySQL之终端(Terminal)管理MySQL(转)

    前言:MySQL有很多的可视化管理工具,比如“mysql-workbench”和“sequel-pro-”. 现在我写MySQL的终端命令操作的文章,是想强化一下自己对于MySQL的理解,总会比使用图 ...

  9. mac - MAC电脑安装Mysql服务器和Navicat for mysql客户端

        1.下载链接 Navicat for mysql客户端 链接: https://pan.baidu.com/s/1dGbzgbR 密码: i43g Mysql服务器 链接: https://p ...

随机推荐

  1. jQuery插件select2跨域设置xhrFields参数

    ajax跨越时默认不带cookie,如果需要带cookie调用,需要设置参数 xhrFields: { withCredentials: true },如: $.ajax({url : "h ...

  2. 原来rollup这么简单之 rollup.rollup篇

    大家好,我是小雨小雨,致力于分享有趣的.实用的技术文章. 内容分为翻译和原创,如果有问题,欢迎随时评论或私信,希望和大家一起进步. 分享不易,希望能够得到大家的支持和关注. 计划 rollup系列打算 ...

  3. 工具之scroolToIndex

    需求定位:导航中实现子元素滚动到父元素的最左侧 解决方案:查找该子元素的offsetLeft值,然后让父元素滚动offsetLeft,parenDom.scrollLeft = childDom.of ...

  4. vue项目中使用Lodop实现批量打印html页面和pdf文件

    1.Lodop是什么? Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内容,又可用程序代码直接实现复杂打印.控件功能强大,却简单易用,所有调用如同JavaScript扩 ...

  5. 还记得第一个看到的Flutter组件吗?

    注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 MaterialApp 在学习Flutter的过程中我们第 ...

  6. 测试必知必会系列- Linux常用命令 - ps(重点)

    21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1672457.html 查看所 ...

  7. macOS开发:调整NSImage尺寸大小

    原文链接 extension NSImage { func resize(_ to: CGSize, isPixels: Bool = false) -> NSImage { var toSiz ...

  8. hdu1175 连连看(bfs疯狂MLE和T,遂考虑dfs+剪枝)

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1175/ 题目大意就是给出地图,上面有若干的数,相当于连连看,给了q个查询,问给出的两个位置的数能否在两次转弯以内 ...

  9. 洛谷 P3808 【模板】AC自动机(简单版) 题解

    原题链接 前置知识: 字典树.(会 \(\texttt{KMP}\) 就更好) 显然呢,本题用 字典树 和 \(\texttt{KMP}\) 无法解决问题. 所以我们发明了一个东西: \(\textt ...

  10. JAVA——桌球游戏(动画)

    跟着视频敲得 ,虽然不是自己的思路 ,不过对代码多了一点了解:涉及到继承类 主函数:创建一个BallGame对象,调用一个launchFrame函数 : launchFrame函数:严格来说是方法 , ...