zoukankan      html  css  js  c++  java
  • 数据库服务概述,构建MYSQL服务器,数据库基本管理,mysql数据类型,表结构的调整

                                                            数据库的发展前引

    MySQL的起源与发展过程

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

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

    20081月,MySQL ABSun收购

    20094月,SUNOracle收购

    崭新的开源分支MariaDB

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

    MySQL原作者Widenius主导开发

    MySQL保持最大程度兼容

    MySQL的特点及应用

    主要特点

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

    支持Linux/UnixWindows等多种操作系统

    使用CC++编写,可移植性强

    通过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-serverMySQl-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 "}

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

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

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

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

    expect"#"{send"exit "}

    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;


  • 相关阅读:
    progID
    windbg
    msil_accessibility_b03f5f7f11d50a3a_6.1.7600.16385_none_2232298e4f48d6ba
    jupybook编程快捷键
    django遇到的error(待续)
    python 遇到error(待续)
    前端 遇到error(待续)
    sql语句组件 在框架中的应用
    django models分页
    Python的学习之旅———用户与程序交互
  • 原文地址:https://www.cnblogs.com/qingbai/p/12014798.html
Copyright © 2011-2022 走看看