zoukankan      html  css  js  c++  java
  • MySQL 安装与基本概念

    Mysql版本

    第一条产品线:5.0.xx及升级到5.1.xx的产品系列,这条产品线继续完善与改进其用户体验和性能,同时增加新功能,这条路线可以说是MySQL早期产品的延续系列,这一系列的产品发布情况及历史版本如下:
    MySQL5.1是当前稳定(产品质量)发布系列。只针对漏洞修复重新发布;没有增加会影响稳定性的新功能。

    第二条-5.4.xx开始-到了5.7.xx产品线系列介绍第二条产品线:为了更好地整合MySQLAB公司社区和第三方司开发的新存储引擎,以及吸收新的实现算法等,从而更好地支持SMP架构,提高性能而做了大量的代码重构。版本编号为从5.4.xx开始,目前发展到了5.7x。(2019.5)

    第三条-6.0.xx到7.1.xx产品线系列介绍I第三条产品线:为了更好地推广MySQL Cluster版本,以及提高MySQL Cluster的性能和稳定性,以及功能改进和增加,以及改动MySQL基础功能,使其对Cluster存储引擎提供更有效的支持与优化。版本号为6.0.xx开发,目前发展到8.1.xx。(2019.5)

    企业生产场景选择MySQL数据库建议:
    1)稳定版:选择开源的社区版的稳定版GA版本

    2)产品线:阿以选择5.1或5.5。互联网公司主流5.5,其次是5.1和5.6。
    3)选择MySQL数据库GA版发布后6个月以上的GA版本。
    4)要选择前后几个月没有大的BUG修复的版本,而不是大量修复BUG的集中版本,
    5)最好向后较长时间没有更新发布的版本。
    6)要考虑开发人员开发程序使用的版本是否兼容你选的版本。.
    7)作为内部开发测试数据库环境,跑大概3-6个月的时间。
    8)优先企业非核心业务采用新版本的数据库GA版本软件。
    10)向DBA高手请教,或者在及技术氛围好的群里和大家一起交流,使用真正的高手们用过的好用的GA版本产品。
    11)经过上述工序之后,若是没有重要的功能BUG或性能瓶颈,则可以开始考虑作为任何业务数据服务的后端数据库软件;

    mysql只是一种能够帮助我们管理数据的软件,还有其他类似的软件也是通过发送指令来帮你管理数据库

    其他类似软件:

    ​ 关系型数据库:sqlite,db2,oracle,access,sql server,MySQl

    ​ 非关系型数据库:mongodb,redis

    关系型:彼此之间有约束或者有联系

    MySQL安装

    window

    1. 官网下载解压包

    2. 解压到电脑上

    3. 命令行启动

      1. 以管理员身份运行cmd
      2. cd 到解压目
      3. 输入mysqld 运行服务端
    4. 启动客户端

      1. 启动cmd 输入 msyql -h 127.0.0.1 -P 3306 -u root -p
      2. 注意这个是大写的P 回车之后输入密码,空直接回车就可以了
      3. 如果是本地可以简写为 mysql -u root -p
    5. 添加环境变量

    6. 把mysql制作成系统服务

    查找mysqld端口
    tasklist |findstr mysqld
    taskkill /F /PID 3306
    关闭mysql
    mysqld --install 
    
    查看系统服务
    services.msc
    
    命令行启动停止任务
    启动 net start mysql
    停止 net start mysql
    
    

    目录结构解析

    bin目录,存储可执行文件

    data目录,存储数据文件

    include目录,存储包含的头文件

    lib目录,存储库文件

    docs日录文档

    share目录,错误消息和字符集文件客户端字符集

    修改密码

    修改密码:

    1.例如你的 root用户现在没有密码,你希望的密码修改为123456,那么命令是:

    mysqladmin -u root password 123456
    

    2.如果你的root现在有密码了(123456),那么修改密码为abcdef的命令是:

    mysqladmin -u root -p password abcdef 
    

    注意,命令回车后会问你旧密码,输入旧密码123456之后命令完成,密码修改成功。

    3.如果你的root现在有密码了(123456),那么修改密码为abcdef的命令是:

    mysqladmin -u root -p123456 password abcdef 
    //注意-p 不要和后面的密码分开写,要写在一起,不然会出错,错误如下所示
    

    破解密码

    1. 停止mysql服务端

    2. 跳过授权表启动MySQL

    3.  mysqld --skip-grant-tables
       update mysql. user set password=password("root") where user="root"and host="localhost";
       flush privileges; # 刷新权限
      
    4. 关闭MySQL服务

    5. 正常启动

    统一字符编码

    1. s 查看字符集 默认的不是uft-8
    2. 新建my.ini配置文件放在安装目录
    
    [mysq1d]
    character-set-server=utf8
    collation-server=utf8 general_ci
    port = 3306
    basedir=C:Program FilesmysqlMySQL Server 8.0in
    datadir=C:Program FilesmysqlMySQL Server 8.0data
    [client}
    default-character-set=utf8 
    
    [mysq1]
    port = 3306
    user="root"
    password="123"
    Ldefault-character-set=utf8
    
     
    
    1. 重启配置才能生效

    MySQL基本认识

    登录命令参数

    -u,-username=name,用户名p,-password[=pwd].密码
    -h,-host,服务器名称
    -P -port ,端口号
    -D,-database ,打开指定数据库
    -prompt ,设置命令提示符
    -delimiter=n,指定分隔符
    -V -version,输出版本信息并且退出
    

    提示符修改

    -uroot-proot--prompt提示符连接客户端时通过参数指定prompt提示符连接上案户端后,通过prompt命令修改
    D:完整的日期
    d:当前数据床
    |命今提示符范用参数
    h:服务器名称
    u:当前用户名
    
    

    输入规则

    1. 默认的结束符是; 或者是g

    2. 关键字与函数名称全部大写

    3. 数据库名称、表名称、字段名称等全部小写SQL语句必须以分隔符结尾

    4. SQL语句支持折行操作,只要不把单词、标记或引号字符串分割为两部分,可以在下一行继续写

    5. 数据库名称、表名称、字段名称等尽量不要使用MySQL的保留字,如果需要使用的时候需要使用反引号()将名称括起来

    6. c 不会被执行

    7. DELIMITER // 修改默认的分隔符

    8. T 输入在命令行中输入的命令保存在指定文件夹中 写上log的绝对路径

    9. 结束输入命令

    系统函数

    select version();
    select now() ;当前时间
    select user();当前用户
    
    mysql>select version()
    +-----------+
    | version() |
    +-----------+
    | 8.0.15    |
    +-----------+
    
    mysql>select now();
    +---------------------+
    | now()               |
    +---------------------+
    | 2019-04-10 17:29:40 |
    +---------------------+
    1 row in set (0.00 sec)
    
    

    存储引擎

    存储引擎就是指表的类型。数据库的存储类型决定了表在计算机中的存储方式,用户可以根据不同的存储方式、是否进行书务处理等来选择合适的存储引擎

    查看存储引擎

    查看MySOL支持的存储引:SHOW ENGINES
    查看显示支持的存储引掌信息:SHOW VARIABLES LIKE 'have%'
    查看默认的存储引繁:SHOW VARIABLES LIKE'storage_engine':
    

    常用的存储引擎

    InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。

    MyISAM:插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比 较低,也可以使用。

    MEMORY:所有的数据都在内存中,数据的处理速度快,但是安全性不高。如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY。它对表的大小有要求,不能建立太大的表。所以,这类数据库只使用在相对较小的数据库表。

    注意,同一个数据库也可以使用多种存储引擎的表。如果一个表要求比较高的事务处理,可以选择InnoDB。这个数据库中可以将查询要求比较高的表选择MyISAM存储。如果该数据库需要一个用于查询的临时表,可以选择MEMORY存储引擎。

    BLACKHOLE : 存储的所有数据不会被保存

  • 相关阅读:
    PHP函数include include_once require和require_once的区别
    PHP替换回车换行的三种方法
    PHP获取绝对路径dirname(__FILE__)和__DIR__比较
    jQuery实现倒计时重新发送短信验证码功能示例
    js人民币转大写
    js前端数据验证JS工具
    安卓动画学习笔记
    ActivityNotFoundException: No Activity found to handle Intent
    Android笔记
    再次踩bug:遍历删除list(java.util.ConcurrentModificationException)
  • 原文地址:https://www.cnblogs.com/ruhai/p/10856754.html
Copyright © 2011-2022 走看看