您的位置:首页 > 数据库 > MySQL

《数据库系列NO1》构建MYSQL服务器、数据库基本管理及MYSQL数据类型

2018-07-03 14:42 921 查看

DBA:  RDBMS (mysql)      NoSQL (Redis和Mongodb)

DA1  ---DBA基础

搭建MYSQL数据库服务器

MYSQL数据库服务器基本使用

Mysql数据类型

Mysql存储引擎

记录管理(增删改查)

用户管理(授权 撤销)

数据备份

 

 

数据库 DB

存储数据的仓库

Mysql  关系数据库服务软件   RDBMS  NoSQL

学生信息---->文件(表)  文件夹(数据库)

 

开源软件:

不等于免费软件

MySQL/MariaDB

(升级版)

Sybase (sybase可跨平台)

PostgreSQL(可跨平台)加州大学伯克利分校

 

商业软件:

  Oracle Database  Oracle(甲骨文)

  SQL Server  (window微软)

  Access(微软,跨平台不开源)

  DB2  (IBM,跨平台不开源)

 

在主机50上运行mysql数据库服务

 

安装前环境

[root@host50 ~]# rpm -q mariadb-server mariadb

未安装软件包 mariadb-server 

未安装软件包 mariadb 

[root@host50 ~]# rm -rf /var/lib/mysql  配置文件

[root@host50 ~]# rm -rf /var/lib/mysql  数据存储

 

装包(软件包来源 封包类型 开源或商业  是否跨平台)

[root@host50 ~]# cd soft

[root@host50 soft]# cd mysql/

[root@host51 mysql]# tar -xf mysql-5.7.17.tar 

[root@host50 mysql]# rpm -Uvh mysql-community-*.rpm (升级安装)

警告:mysql-community-client-5.7.17-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY

错误:依赖检测失败:

perl(JSON) 被 mysql-community-test-5.7.17-1.el7.x86_64 需要

[root@host50 mysql]# yum list | grep -i perl-json

perl-JSON.noarch                    2.59-2.el7               192.168.4.254_rhel7

perl-JSON-PP.noarch                 2.27202-2.el7            192.168.4.254_rhel7

[root@host50 mysql]# rpm -q perl-JSON

[root@host50 mysql]# yum -y install perl-JSON  (解决依赖关系)

[root@host50 mysql]# rpm -Uvh mysql-community-*.rpm #再次安装

查看服务信息

[root@host50 mysql]# systemctl status mysqld

● mysqld.service - MySQL Server

   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)

   Active: inactive (dead)

     Docs: man:mysqld(8)

           http://dev.mysql.com/doc/refman/en/using-systemd.html

启动服务

[root@host50 mysql]# systemctl start mysqld

[root@host50 mysql]# ls /var/lib/mysql

[root@host50 ~]# ls /etc/my.cnf

/etc/my.cnf

 

[root@host50 mysql]# systemctl status mysqld

● mysqld.service - MySQL Server

   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)

   Active: active (running) since 三 2018-05-23 10:25:35 CST; 1min 51s ago

查看服务信息

[root@host50 ~]# ps -C mysqld  #查进程

  PID TTY          TIME CMD

 3866 ?        00:00:00 mysqld

 

[root@host50 ~]# netstat -nutlp | grep :3306   #查堪端口

tcp6       0      0 :::3306                 :::*                    LISTEN

 

 

修改配置文件

访问服务(命令行  图形访问  web访问  )

 

[root@host50 ~]# grep password /var/log/mysqld.log #数据库日志

2018-05-23T02:25:18.775458Z 1 [Note] A temporary password is generated for root@localhost: ZNi>u_qFL4ws   #随机密码

[root@host50 ~]# mysql -hlocalhost -uroot -p’ZNi>u_qFL4ws’

 

 

 

二:重置登陆密码

123456

[root@host50 ~]# mysql -hlocalhost -uroot -p'ZNi>u_qFL4ws'

调整密码策略

mysql> set global validate_password_policy=0; #只检验密码长度

Query OK, 0 rows affected (0.00 sec)

 

mysql> set global validate_password_length=6; #设定密码长度值

Query OK, 0 rows affected (0.00 sec)

 

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

Query OK, 0 rows affected (0.00 sec)

[root@host50 ~]# mysql -hlocalhost -uroot -p'123456'

 

三.配置密码设置永久生效

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

[mysqld]

validate_password_policy=0

Validate_password_length=6

保存退出

 

四:相关概念

库  文件夹

表   文件

记录 行

字段 列

 

使用SQL命令操作数据库服务器上的数据

  结构化查询语言

  SQL命令的类型

 SQL命令语法规则

 

五 、客户端把数据存储到数据库服务器上的过程

库 类似于系统的文件夹

Show    databases;   //显示已有的库

Use  库名;                 //切换库

Select   database();  //显示当前所在的库

Create  database  库名;   //创建新库

Show   tables;          //显示已有的表

Drop    database  库名; //删除库

 

(1)建库

mysql> create database db1;

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| db1                |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

5 rows in set (0.00 sec)

 

(2)建表

新建指定名称的表

CREATE TABLE 库名.表名(

    字段名1  字段类型(宽度)  约束条件,

    字段名2  字段类型(宽度)  约束条件,

    .. ..

    字段名N  字段类型(宽度)  约束条

    );

 

mysql> use db1;   

mysql> desc t1;    #查看表结构

+---------+----------+------+-----+---------+-------+

| Field   | Type     | Null | Key | Default | Extra |

+---------+----------+------+-----+---------+-------+

| name    | char(10) | YES  |     | NULL    |       |

| address | char(10) | YES  |     | NULL    |       |

+---------+----------+------+-----+---------+-------+

(3)插入记录

记录 类似于文件里的行

Select   *  from  表名;   //查看表记录

Insert   into  表名   values(值列表);//插入表记录

Update 表名  set  字段=值;  //修改表记录  mysql> update t1 set address="leizhou";

Delete  from   表名;   //删除表记录

mysql> delete from t1;

 

mysql> create table t1(name char(10),address char(10));

mysql> insert into t1 values("jum","shanghai"),("fafa","guangdong");

mysql> select * from t1;

+------+-----------+

| name | address   |

+------+-----------+

| tom  | beijing   |

| jum  | shanghai  |

| fafa | guangdong |

+------+-----------+

3 rows in set (0.00 sec)

(4)批量更改地址为leizhou

mysql> update t1 set address="leizhou";

mysql> select * from t1;

+------+---------+

| name | address |

+------+---------+

| tom  | leizhou |

| jum  | leizhou |

| fafa | leizhou |

+------+---------+

3 rows in set (0.00 sec)

修改表的字符集,以便与中文输入

mysql> create table t1(name char(),address()),DEFAULT CHARSET=UTF8;

mysql> alter table t1 DEFAULT CHARSET=UTF8;

mysql> show create table t1;  #查看表字符集

 

创建中文表格

mysql> create table 学生表(

    -> 姓名 char(20),

    -> 地址 char(30)

-> ) DEFAULT CHARSET=utf8;

mysql> insert into 学生表 values("张三丰","武当山");

mysql> select * from 学生表;

+-----------+-----------+

| 姓名      | 地址  |

+-----------+-----------+

| 张三丰    | 武当山|

+-----------+-----------+

 

mysql> create table t2(

    -> name char(15),

    -> age tinyint(2) unsigned,

    -> birthday date,

    -> up_time time,

    -> y_star year,

    -> party datetime

    -> );

 

 

时间函数应用

mysql> insert into t2 values("tom",21,date(now()),082000,year(now()),now());

Query OK, 1 row affected (0.03 sec)

 

mysql> select * from t2;

+------+------+------------+----------+--------+---------------------+

| name | age  | birthday   | up_time  | y_star | party               |

+------+------+------------+----------+--------+---------------------+

| bob  |   21 | 2018-06-13 | 08:20:00 |   1990 | 2018-06-23 23:25:59 |

| tom  |   21 | 2018-05-23 | 08:20:00 |   2018 | 2018-06-08 23:54:59 |

| tom  |   21 | 2018-05-23 | 08:20:00 |   2018 | 2018-05-23 17:56:54 |

+------+------+------------+----------+--------+---------------------+

 

 

 

mysql> insert into t4 values(now(),now());

mysql> insert into t4(metting) values(20170302232504);

mysql> insert into t4(metting) values(20170302232504);

mysql> select * from t4;

+---------------------+---------------------+

| metting             | party               |

+---------------------+---------------------+

| 2018-05-24 09:22:01 | 2018-05-24 09:22:01 |

| 2017-03-02 23:25:04 | 2018-05-24 09:22:49 |

| NULL                | 2016-03-02 23:25:04 |

+---------------------+---------------------+

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐