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 Files\mysql\MySQL Server 8.0\bin
datadir=C:\Program Files\mysql\MySQL Server 8.0\data
[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. \t 结束输入命令

系统函数

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 : 存储的所有数据不会被保存

最新文章

  1. 关于UIView布局的总结
  2. 【跟着子迟品 underscore】如何优雅地写一个『在数组中寻找指定元素』的方法
  3. 第二次团队作业 -- 预则立&&他山之石
  4. Python笔记总结week5
  5. Mysql 排名查询
  6. Python爬虫经验
  7. iOS 设置图片imageView圆角——对图片进行裁剪
  8. PHP正则表达式 验证电子邮件地址
  9. [Git] MAC上Git初探
  10. MySQL基础之 path环境变量的作用 (科普)
  11. 电子科大POJ "整数的千位分隔"
  12. Java Web Services (1) - 第1章 Web服务快速入门
  13. Mycat 配置说明(rule.xml)
  14. POJ 3481 Double Queue
  15. Effective Java 第三版—— 90.考虑序列化代理替代序列化实例
  16. mvc中webapi添加后没法访问 解决办法
  17. jmeter安装教程与新手入门(附jdk安装教程)
  18. EF Code First Migrations数据库迁移 (转帖)
  19. Android应用程序如何调用shell脚本(一)
  20. jsfl 第一天

热门文章

  1. linux Centos系统安装Pycharm并创建软链接
  2. mysql查看系统参数
  3. appium的第一个实例
  4. ipmitool管理工具
  5. MariaDB知识点总结03--从主+多主集群
  6. 【VS开发】list控件的InsertColumn方法出错
  7. springboot使用elasticsearch的客户端操作eslaticsearch
  8. JAVA实验报告及第九周总结
  9. python基础知识0-5(单双向队列)
  10. OnVScroll的通常处理