mysql补充

mysql补充

mysql使用流程

  1. 开启服务端,mysqld或者net start mysql
  2. cmd下键入mysql -u root -p,输入设置好的密码,连接mysql客户端
  3. show databases;展示所有的mysql仓库
  4. 创建一个库:create database CRM;然后show databases;
  5. 切换数据库使用use + 库名,例如:use crm;
  6. 在切换仓库下创建一张表,命令:create table student(id int,name char(10),age int);
  7. 再执行show tables;就可以看到有了一个student表
  8. 查看一下这个表里的数据select * from student;
  9. 接下来正常执行表的增删查改操作即可

mysql目录介绍

1729998-20190830163430009-1008568423.png

1729998-20190830163437176-1296607915.png

总结:其实这些库就是我们电脑上对应的文件夹,在mysql中显示为对应的库,来方便我们管理数据,而文件或者文件夹这种与硬盘打交道的事情就交给mysql了,我们只需要对mysql库中的数据进行操作就可以了

指令补充

show variables like "%char%";
# 查看字符集编码指令
mysql -h 127.0.0.1 -P 3306 -u root -p
# MySQL客户端连接服务端时的完整指令
show variables like "storage_engine%";
# 查看当前正在使用的引擎
show engines;
# 查看MySQL所有的引擎,

mysql密码服务端密码忘记之后的操作

  1. 停掉MySQL服务端(net stop mysql)

  2. 切换到MySQL安装目录下的bin目录下,然后手动指定启动程序来启动mysql服务端,指令: mysqld.exe --skip-grant-tables

  3. 重新启动一个窗口,连接mysql服务端,

  4. 修改mysql库里面的user表里面的root用户记录的密码:

    update user set password = password('666') where user='root';
  5. 关掉mysqld服务端,指令:
    tasklist|findstr mysqld
    taskkill /F /PID 进程号

  6. 正常启动服务端(net start mysql)

修改密码的三种方式

  1. 用set password命令
    首先登录MySQL,使用mysql自带的那个客户端连接上mysql。
    格式:mysql> set password for 用户名@localhost = password('新密码');
    例子:mysql> set password for root@localhost = password('123');

  2. 用mysqladmin(因为我们将bin已经添加到环境变量了,这个mysqladmin也在bin目录下,所以可以直接使用这个mysqladmin功能,使用它来修改密码)

    格式:mysqladmin -u用户名 -p旧密码 password 新密码
    例子:mysqladmin -uroot -p123456 password 123

    关于mysqladmin的介绍:是一个执行管理操作的客户端程序。它可以用来检查服务器的配置和当前状态、创建和删除数据库、修改用户密码等等的功能,虽然mysqladmin的很多功能通过使用MySQL自带的mysql客户端可以搞定,但是有时候使用mysqladmin操作会比较简单。

  3. 用update直接编辑那个自动的mysql库中的user表

    首先登录MySQL,连接上mysql服务端。
    mysql> use mysql;use mysql的意思是切换到mysql这个库,这个库是所有的用户表和权限相关的表都在这个库里面,我们进入到这个库才能修改这个库里面的表。
    mysql> update user set password=password('123') where user='root' and host='localhost';

    其中password=password('123') 前面的password是变量,后面的password是mysql提供的给密码加密用的,我们最好不要明文的存密码,对吧,其中user是一个表,存着所有的mysql用户的信息。

    mysql> flush privileges; 刷新权限,让其生效,否则不生效,修改不成功。

mysql工作流程与存储引擎

1729998-20190830163509436-279048446.png

存储引擎的概念是MySQL独有概念

mysql所有存储引擎:

1729998-20190830170747165-253634581.png

存储引擎介绍:

存储引擎是mysql数据库独有的存储数据、为数据建立索引、更新数据、查询数据等技术的实现方法

1、InnoDB引擎

​ InnoDB引擎是MySQL数据库的另一个重要的存储引擎,正称为目前MySQL AB所发行新版的标准,被包含在所有二进 制安装包里。和其他的存储引擎相比,InnoDB引擎的优点是支持兼容ACID的事务,以及参数完整性(即对外键的支持)

InnoDB引擎特点:

  1. 支持事务:支持4个事务隔离界别,支持多版本读。
  2. 行级锁定(更新时一般是锁定当前行):通过索引实现,全表扫描仍然会是表锁,注意间隙锁的影响。
  3. 读写阻塞与事务隔离级别相关(有多个级别,这就不介绍啦~)。
  4. 具体非常高效的缓存特性:能缓存索引,也能缓存数据。
  5. 整个表和主键与Cluster方式存储,组成一颗平衡树。(了解)
  6. 所有SecondaryIndex都会保存主键信息。(了解)
  7. 支持分区,表空间,类似oracle数据库。
  8. 支持外键约束,不支持全文索引(5.5之前),以后的都支持了。
  9. 和MyISAM引擎比较,InnoDB对硬件资源要求还是比较高的。

InnoDB引擎适用的生产业务场景

  1. 需要事务支持(具有较好的事务特性,例银行业务)
  2. 行级锁定对高并发有很好的适应能力,但需要确保查询是通过索引完成。
  3. 数据更新较为频繁的场景,如:BBS(论坛)、SNS(社交平台)、微博等
  4. 数据一致性要求较高的业务,例如:充值转账,银行卡转账。
  5. 硬件设备内存较大,可以利用InnoDB较好的缓存能力来提高内存利用率,尽可能减少磁盘IO,可以通过一些参数来设置
  6. 相比MyISAM引擎,Innodb引擎更消耗资源,速度没有MyISAM引擎快

InnoDB引擎调优精要

  1. 主键尽可能小,避免给Secondery index带来过大的空间负担。

  2. 避免全表扫描,因为会使用表锁。

  3. 尽可能缓存所有的索引和数据,提高响应速度,较少磁盘IO消耗。

  4. 在大批量小插入的时候,尽量自己控制事务而不要使用autocommit自动提交,有开关可以控制提交方式。

  5. 合理设置innodb_flush_log_at_trx_commit参数值,不要过度追求安全性。

    如果innodb_flush_log_at_trx_commit的值为0,log buffer每秒就会被刷写日志文件到磁盘,提交事务的时候不做任何操作。

  6. 避免主键更新,因为这会带来大量的数据移动。

事务:数据库中事务是用户一系列的数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

一般来说,事务是必须满足4个条件(ACID)::原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。

  • 原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
  • 一致性:在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作。
  • 隔离性:数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别,包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)。
  • 持久性:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。

2、MyISAM引擎

MyISAM引擎特点:

  1. 不支持事务
    事务是指逻辑上的一组操作,组成这组操作的各个单元,要么全成功要么全失败。
  2. 表级锁定
    数据更新时锁定整个表:其锁定机制是表级锁定,也就是对表中的一个数据进行操作都会将这个表锁定,其他人不能操作这个表,这虽然可以让锁定的实现成本很小但是也同时大大降低了其并发性能。
  3. 读写互相阻塞
    不仅会在写入的时候阻塞读取,MyISAM还会再读取的时候阻塞写入,但读本身并不会阻塞另外的读。
  4. 只会缓存索引
    MyISAM可以通过key_buffer_size的值来提高缓存索引,以大大提高访问性能减少磁盘IO,但是这个缓存区只会缓存索引,而不会缓存数据。
  5. 读取速度较快占用资源相对较少
  6. 不支持外键约束,但只是全文索引
  7. MyISAM引擎是MySQL5.5版本之前的默认引擎,是对最初的ISAM引擎优化的产物。

3、其他搜索引擎:

  • NDB 存储引擎
    NDB 存储引擎是一个集群存储引擎,类似于 Oracle 的 RAC 集群,不过与 Oracle RAC 的 share everything 结构不同的是,其结构是 share nothing 的集群架构,因此能提供更高级别的 高可用性。NDB 存储引擎的特点是数据全部放在内存中(从 5.1 版本开始,可以将非索引数 据放在磁盘上),因此主键查找(primary key lookups)的速度极快,并且能够在线添加 NDB 数据存储节点(data node)以便线性地提高数据库性能。由此可见,NDB 存储引擎是高可用、 高性能、高可扩展性的数据库集群系统,其面向的也是 OLTP 的数据库应用类型。
  • Memory 存储引擎
    正如其名,Memory 存储引擎中的数据都存放在内存中,数据库重 启或发生崩溃,表中的数据都将消失。它非常适合于存储 OLTP 数据库应用中临时数据的临时表,也可以作为 OLAP 数据库应用中数据仓库的维度表。Memory 存储引擎默认使用哈希 索引,而不是通常熟悉的 B+ 树索引。
  • Infobright 存储引擎
    第三方的存储引擎。其特点是存储是按照列而非行的,因此非常 适合 OLAP 的数据库应用。
  • NTSE 存储引擎
    网易公司开发的面向其内部使用的存储引擎。目前的版本不支持事务, 但提供压缩、行级缓存等特性,不久的将来会实现面向内存的事务支持。
  • BLACKHOLE
    黑洞存储引擎,可以应用于主备复制中的分发主库。

MySQL 数据库还有很多其他存储引擎,上述只是列举了最为常用的一些引擎。

转载于:https://www.cnblogs.com/lifangzheng/p/11435753.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编程书单:十本Python编程语言的入门书籍

本文转自:http://codingpy.com/article/10-python-beginner-books/ 本文与大家分享一些Python编程语言的入门书籍,其中不乏经典。我在这里分享的,大部分是这些书的英文版,如果有中文版的我也加上了。有关书籍的介绍,大…

Sublime配置与各种插件

本文转自:http://www.cnblogs.com/yyhh/p/4232063.html Sublime Text 3 安装Package Control 点击View -> Show Console 在下方命令行内,输入以下命令。 import urllib.request,os;pfPackage Control.sublime-package;ippsublime.installed_packages_…

把Sublime Text 2打造成一个轻量级Python的IDE

本文转自:http://blog.l1n3.net/python/sublime-text-to-python-ide/ 因为这段时间迷上了Python,所以想吧Sublime Text 2弄成一个Python的简易IDE,Python自带的IDLE简直太难用!!!! 配置Python环…

数据库表操作、数据类型及完整性约束

数据库表操作、数据类型及完整性约束 库操作补充 数据库命名规则: 可以由字母、数字、下划线、@、#、$区分大小写唯一性不能使用关键字如 create select不能单独使用数字最长128位表操作补充 #语法: create table 表名…

第99:真正理解拉格朗日乘子法和 KKT 条件

转载于:https://www.cnblogs.com/invisible2/p/11441485.html

有了CodinGame,玩着游戏就能学编程

本文转自:http://www.codingpy.com/article/learning-to-code-becomes-a-game/ 今天编程派向大家推荐一个有趣的编程练习平台,而它与其他平台的差异,就在于它将编程练习变成了一个个游戏。这个平台的名字叫CodinGame,是一家法国创…

第98:svd原理

SVD分解:任何矩阵都可以分解成第一行的形式,3个相乘。UV都是正交矩阵,中间的是奇异值。 3个相乘的形式可以拆分。即奇异值*第一行*第一列。在相加。 奇异值有时很小,在这种情况下,丢掉,可以减少计算量&…

第97:一文读懂协方差与协方差矩阵

转载于:https://www.cnblogs.com/invisible2/p/11442777.html

设计模式之模板方法模式实战解析

本文微信公众号「AndroidTraveler」首发。 背景 最近在看《设计模式之禅》,为了能够更加深入的理解设计模式,达到学以致用。 这边记录一下自己的一些感受和看法,并结合具体代码实战来进行说明。 模板方法模式 但凡和设计模式挂上钩&#xff0…

第96:SVM简介与简单应用

详细推到见:https://blog.csdn.net/v_july_v/article/details/7624837 python实现方式: 转载于:https://www.cnblogs.com/invisible2/p/11448307.html

matlab如何把选中区域标亮

下面给出的是初始图像为彩色图像的情况。 %% Example on how to color select pixels in an image. % Kawahara (2013).% The original COLOR image. origImg imread(1.jpg); oldorigImg origImg; % Make sure the values are within 0-255. origImg uint8(origImg);% View…

Calendar是日历类

Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。 Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态…

玩转大数据21:基于FP-Growth算法的关联规则挖掘及实现

1.引言 关联规则挖掘是大数据领域中重要的数据分析任务之一,其可以帮助我们发现数据集中项目之间的关联关系。关联规则挖掘是指在交易数据或者其他数据集中,发现一些常见的关联项,如购物篮中经常一起出现的商品组合。关联规则挖掘的应用非常…

MATLAB – TreeBagger example

In MATLAB, Decision Forests go under the rather deceiving name of TreeBagger. 随机森林分类器(Random Forest) B TreeBagger(nTree,train_data,train_label,Method,classification); predict_label predict(B,test_data); 利用随机…

第95:PCA

输入数据矩阵->计算每条记录的平均值和标准差->计算协方差矩阵->得到协方差矩阵的所有特征值和特征向量->对特征值进行从大到小的排序,并且得到与之对应的特征向量 PCA是无监督的。没有标签也可以做,是基于方差的。 精髓在于将协方差矩阵进行…

国外少儿PYTHON编程书推荐

1,Python for Kids: A Playful Introduction to Programming 中文版已结有了,叫做 趣学Python——教孩子学编程 51wK-ZIUImL 亚马逊上人气很高,适合10岁以上儿童,内容浅显易懂,非常适合儿童入门 2,He…

将sublime text3添加到右键菜单中(可执行)

安装了sublime text3,发现右键文件里面没有使用sublime text3打开的选项,所以需要手动添加使用sublime text3编辑的选项。 打开注册表编辑器。 开始——>运行——>regedit 选择HKEY_CLASSES_ROOT——>*——>shell,右键&#…

以股票RSI指标为例,学习Python发送邮件功能(含RSI指标确定卖点策略)

本人之前写过若干“给程序员加财商”的系列文,目的是通过股票案例讲述Python知识点,让大家在学习Python的同时还能掌握相关的股票知识,所谓一举两得。 在之前的系列文里,大家能看到K线,均线,成交量的案例&a…

不用去验血,对照这张表,就能知道自己缺啥!千万收藏好!

很多时候 身体上出现问题 不用去医院就能知道自己缺什么 对照下面的清单 能让你省下大笔钱 身体健康少生病 赶紧看看吧 1.看 头 1.头发发黄、发焦,缺蛋白质; 2.头发稀疏无光,补蛋白质和维生素A; 3.防止白发,补叶酸、泛…

从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (三)

本文属于图神经网络的系列文章,文章目录如下: 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一)从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (二)从图(Graph)到图卷积(Graph Convolution)&#x…