《數據庫系列NO1》構建MYSQL服務器、數據庫基本管理及MYSQL數據類型

DBA:  RDBMS mysql)      NoSQL (RedisMongodb)

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 |

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章