zoukankan      html  css  js  c++  java
  • Day1-mysql

    1. 搭建数据库服务器
    2. 数据库的基本使用
    3. 表的基本操作
    4. 表记录的基本操作
    5. 用户授权与权限撤销
    6. 数据备份与恢复
    7. Mysql主从同步
    8. Mysql读写分离
    9. Mysql高可用集群
    10. Mysql性能调优

           

    Mysql数据库服务器    存储的数据

           

    1搭建数据库服务器

        商业软件    开源软件    是否跨平台

    在生产环境中通宵和网站服务一起使用        LAMP    LNMP

    Mysql历史与优点

    关系型数据库    非关系型数据NOSQL    

    把不同的数据,使用不同表存储,表与表之间是有关联的

    支持多个编程语言    php    .net    java    asp    api    mysql    

           

    DB——database    数据库

    数据库:依照某种数据模型进行组织并存放到存储器的数据集合

           

    DBMS——database    management    system

    数据库管理系统:用来操纵和管理数据库的大型服务软件

           

    DBS——database    system

    数据库系统:即DB+DBMS,指带有数据库并整合了数据库管理软件的计算机系统

           

    实体—关系模型    entity-relationship model

           

    安装rpm格式软件包

    使用RPM包安装初始密码在  

    cat /root/.mysql_secret

    mysql>SET PASSWORD FOR 'root'@'localhost'=PASSWORD('1234567');

           

    安装 源码包    配置    编译    安装

    [root@localhost ~]# yum install mysql-server mysql –y

           

    [root@localhost ~]# /etc/init.d/mysqld start

    初始化 MySQL 数据库: Installing MySQL system tables...

    OK

    Filling help tables...

    OK

           

    To start mysqld at boot time you have to copy

    support-files/mysql.server to the right place for your system

           

    PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

    To do so, start the server, then issue the following commands:

           

    /usr/bin/mysqladmin -u root password 'new-password'

    /usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

           

    Alternatively you can run:

    /usr/bin/mysql_secure_installation

           

    which will also give you the option of removing the test

    databases and anonymous user created by default. This is

    strongly recommended for production servers.

           

    See the manual for more instructions.

           

    You can start the MySQL daemon with:

    cd /usr ; /usr/bin/mysqld_safe &

           

    You can test the MySQL daemon with mysql-test-run.pl

    cd /usr/mysql-test ; perl mysql-test-run.pl

           

    Please report any problems with the /usr/bin/mysqlbug script!

           

    [确定]

    正在启动 mysqld: [确定]

           

    端口号

    [root@localhost ~]# netstat -untlap |grep :3306

    tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 11671/mysqld

           

    mysql    pid号

    [root@localhost ~]# ps aux |grep mysqld

    root 11582 0.0 0.5 106092 1352 pts/0 S 11:51 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql

    mysql 11671 0.0 9.1 367516 20868 pts/0 Sl 11:51 0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock

    root 11739 0.0 0.3 103248 832 pts/0 S+ 12:07 0:00 grep mysqld

    [root@localhost ~]# cat /var/run/mysqld/mysqld.pid

    11671

           

    进程所有者/组    都 是mysql

    数据库目录    /var/lib/mysql/

    主配置文件    /etc/my.cnf

           

    Mysql-share        共享库

    Mysql-shared-compat        兼容包

    Mysql-server        服务端程序

    Mysql-client        客户端程序

    Mysql-devel        库和头文件

    Mysql-embedded    嵌入式版本

    Mysql-test        测试包

           

    Sql命令不区分字母大小写

    每条SQL命令必须以;结尾

    c    不执行SQL命令

           

    设置登录用户和密码

    mysql> set password for root@'localhost'=password('1');

           

    存放在数据库服务上库和表,是以文件的形式保存在数据库目录下

    [root@localhost ~]# mysql -uroot -p1 mysql

           

    mysql> show databases;            查询数据库

    mysql> select database();        查看当前所在的库

    mysql> use mysql;            切换数据库(打开数据库)

    mysql> create database 数据库名;    创建数据库

    mysql> create drop 数据库名;        删除数据库

    mysql> desc    表名;        查看表结构

    mysql> select     字段    from    表名;    查询表记录

           

    数据库的命名规则

    数字、字母、下划线    ————注——但不能使用纯数字命名

    数据库名具有唯一性

    区分字母大小写

    尽量不要使用特殊符号    和    关键字

           

    information_schema        //信息概要库(虚拟库) 此里的数据;不占有系统磁盘空间  数据存储在系统内存里

                    保存当前数据库服务器已有库和表的信息

    mysql         授权库  保存用户的授权信息  占有系统磁盘空间

    performation_schema   性能结构库  数据服务器运行时的参数信息  占有系统磁盘空间

    test        公共库(空库-测试库)  任意一个能够连接数据库服务器用户,就对此库拥有完全权限  占有系统磁盘空间

           

    表的基本操作----表存放在数据库里

    mysql> create table 数据库名.表名(

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

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

    ……

    );

           

    >insert    into    表名    values("字段内容", "字段内容", "…");

    >delete    from    表名;     删除表里所有记录

    >drop    table    表名;    删除表

    >drop    database    数据库;     删除数据库

           

    Mysql数据库类型

    1数值类型

    整数类型

    类 型        大小        范围(有符号)    范围(无符号)    说明

    TINYINT    1字节        -128~127        0-255            微小整数

    SMALLINT    2字节        -32768~32767    0-65535        小整数

    MEDIUMINT    3字节        -223~223-1        0~224-1        中整数

    INT        4字节        -231~231-1        0~232-1        大整数

    BIGINT    8字节        -263~263-1        0~264-1        极大整数

         

    无符号    unsigned

    >create    table    t1(name    varchare(5),age    int(4)    zerofill);    补0

    注:数值类型的宽度是显示宽度,当字段的值不够显示宽度时,默认使用空格在数字前,补足显示宽度位数显示

        Int默认为11位,若不指定——浪费内存空间

         

    浮点型

    FLOAT        4字节        单精度浮点数

    DOUBLE    8字节        双精度浮点数

           

    2字符类型

    Char    定长(固定长度)        默认为1(0-255)

    Varchar    变长(长度可定义)    (255-65535)

    Text、blob    大文本类型

           

    3日期时间类型

    Year        年    yyyy    2016

    Date        日期    yyyy-mm-dd    2016-09-01

    Time        时间    hh:mm:ss    22:00:00

         

    Mysql    获取时间的函数

        Now()    year() day() month() time()

    Select now()

    Select year(20160901)

    Select year( now() )

         

    Mysql数据类型

    日期时间类型

    Datetime        8字节        范围:1000-01-01    00:00:00.000000~9999-12-31    23:59:59.999999

    timestamp         4字节        范围:1970-01-01    00:00:00.000000~2038-01-19    03:14:07.999999

    1存储时间范围不一样、赋值方式不一样     若不给timestampe赋值,默认是当前系统时间

    Year 年    yyyy

    输入两位数显示         01-69        20xx

                    70-99        19xx    

                    00        0000

       

    4枚举类型    字段的值只能在列举的范围内选择

    Enum(值1,"值2",值n)选择列举范围内一个         可以用编号给他赋值

    set(值1,"值2",值n)选择列举范围内一个或多个

  • 相关阅读:
    http uri唯一标识
    http协议
    python模块 sys
    file 文件的操作
    库的介绍及使用
    python os模块
    python的序列化与反序列化
    python 字典的定义以及方法
    python字符串的常用方法
    在Windows下使用adb logcat grep
  • 原文地址:https://www.cnblogs.com/fina/p/5830436.html
Copyright © 2011-2022 走看看