MySQL高级特性
MySQL管理
用户管理
CREATE USER username IDENTIFIED BY 'password'; 新建用户
CREATE USER@’%’ IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO username@'%'; 赋予对应的权限
FLUSH PRIVILEGES;
新建用户之后可以使用如下命令来删除用户:
DROP USER username; 删除用户
DELETE FROM user where User='username'; 删除用户,需要首先use mysql
grant语句赋予用户相应的权限,通俗的讲,grant相当于以下sql语句:
grant priv_set on dbname to username;
如何查看用户的相应权限呢?
SHOW GRANTS FOR username;
如何撤销用户对应的权限?
REVOKE ALL PRIVILEGES ON dbname.table FROM username;
REVOKE INSERT ON dbname.table FROM username; 撤销创建表权限
用户管理更新过后请使用FLUSH PRIVILEGES,否则可能会出现ERROR 1396错误。
表数据复制
利用select可以实现表结构与数据的同步复制。
CREATE TABLE tablename SELECT * FROM oldtablename;
CREATE TABLE tablename SELECT * FROM oldtablename where id < 10;
CREATE TABLE tablename LIKE oldtablename; 利用linke语句也可以实现表的复制
数据库备份与恢复
数据库的导出:
mysqldump -h x.x.x.x -u root database > backup.sql -p; 输入数据密码后数据库导出到backup.sql文件中
mysql -h x.x.x.x -u root database < backup.sql -p; 执行数据恢复操作
执行数据库的恢复操作时database必须存在,否则恢复数据时找不到对应的数据库。
利用source命令,也可以执行数据恢复操作:
mysql> use xxx;
mysql> source backup.sql
MySQL的存储引擎
存储引擎就是表的类型,MySQL有多种存储引擎,不同的存储引擎有不同的存储机制、索引技术和锁定水平。
MySQL存储引擎分为事务安全表的引擎和非事务安全表的引擎,事务是数据库中一个重要概念,事务具有原子性、一致性、隔离性和持久性4中特性。事务是为了保护数据的安全性,防止数据库出现故障而导致数据库中数据不一致。事务安全表可以使用COMMIT语句合并多条语句,适合需要经常更新的表;非事务安全表由于没有事务支持,处理速度较快,存储时占用内存较小,数据表执行更新占用内存少。
MyISAM引擎
MyISAM适合读操作次数远大于写操作的数据库,不支持事务操作,由于不需要处理事务记录,其占用内存较小,查询效率较高。每个MyISAM表对应两个磁盘文件:一个是用于存储数据的数据文件,其相对路径为dbname/tablename.MYD;另一个是存储索引的索引文件,其相对路径为dbname/tablename.MYI。
InnoDB引擎
InnoDB是MySQL的默认存储引擎,InnoDB引擎管理事务安全表,使用多版本并发控制和行级锁来提供对事务的支持,除了提供事务支持外,InnoDB还支持外键约束,拥有故障恢复能力。InnoDB设计目标是以最大的效率处理海量数据,其CPU利用率是基于所有磁盘的关系数据库引擎中最高的,因此,InnoDB引擎非常适合支持事务且并发读写频率较高的数据库。
InnoDB和MyISAM对比
InnoDB和MyISAM是MySQL中最常用的两个存储引擎,这两个存储引擎各有优劣,对存储引擎的选择应该根据具体应用来选择,只有这样才能最大限度发挥MySQL数据库的性能优势。
InnoDB和MyISAM区别总结如下:
- MyISAM不支持事务处理和外键约束等高级处理,而InnoDB存储引擎支持
- MyISAM强调的是性能,其执行速度比InnoDB更快,而InnoDB存储引擎则强调的是数据安全性。
- MyISAM支持表级锁定,而InnoDB支持行级锁定。
- MyISAM支持全文索引,而InnoDB不支持。
MySQL高级特性的更多相关文章
- mysql笔记04 MySQL高级特性
MySQL高级特性 1. 分区表:分区表是一种粗粒度的.简易的索引策略,适用于大数据量的过滤场景.最适合的场景是,在没有合适的索引时,对几个分区进行全表扫描,或者是只有一个分区和索引是热点,而且这个分 ...
- 干货:鲜为人用的MySQL高级特性与玩法!
上一篇文章<万字总结:学习MySQL优化原理,这一篇就够了!>文末给大家留有两个开放的问题: 有非常多的程序员在分享时都会抛出这样一个观点:尽可能不要使用存储过程,存储过程非常不容易维护, ...
- 【MySQL高级特性】高性能MySQL第七章
2017-07-25 14:15:43 前言:MYSQL从5.0和5.1版本开始引入了很多高级特性,例如分区.触发器等,这对有其他关系型数据库使用 背景的用户来说可能并不陌生.这些新特性吸引了很多用户 ...
- MySQL高级特性——绑定变量
从MySQL 4.1 版本开始,就支持服务器端的绑定变量,这大大提高了客户端和服务器端数据传输的效率 介绍 当创建一个绑定变量 SQL 时,客户端会向服务器发送一个SQL语句的原型.服务器端收到这个S ...
- MySQL高级特性之分区表
对于用户而言,分区表是一个独立的逻辑表,但是在底层由多个物理子表组成.实现分区的代码实际上是对一组底层表的句柄对象的封装,对分区表的请求都会通过句柄对象转化成对存储引擎的接口调用 意义 MySQL在创 ...
- 高性能mysql 第7章 mysql高级特性之分区表
分区表: 分区表是一个独立的逻辑表,底层通过多个物理表实现. mysql实现分区表的方式是对底层表的封装.这意味着没有全局索引,索引是建立在底层的每个表上的(跟ORACLE不一样). 用到分区表的几种 ...
- 7、mysql高级特性
7.1.分区表 7.1.1 分区表的原理 7.1.2分区表的类型 7.1.3如何使用分区表 7.1.4什么情况下出问题 7.1.5查询优化 使用explain 来分析sql使用的分区表 7.1.6合并 ...
- Redis进阶实践之五Redis的高级特性
一.引言 上一篇文章写了Redis的特征,使用场景,同时也介绍了Redis的基本数据类型,redis的数据类型是操作redis的基础,这个必须好好的掌握.今天我们开始介绍一些Redis的高级特性 ...
- Redis基础用法、高级特性与性能调优以及缓存穿透等分析
一.Redis介绍 Redis是一个开源的,基于内存的结构化数据存储媒介,可以作为数据库.缓存服务或消息服务使用.Redis支持多种数据结构,包括字符串.哈希表.链表.集合.有序集合.位图.Hype ...
随机推荐
- 更改默认alert框体
更改框体主要用到的是更改系统的内置控件winpop下面是winpop具体代码 (function(window, jQuery, undefined) { 2 3 var HTMLS = { 4 ov ...
- 窥探Vue.js 2.0
title: 窥探Vue.js2.0 date: 2016-09-27 10:22:34 tags: vue category: 技术总结 --- 窥探Vue.js2.0 令人兴奋的Vue.js 2. ...
- MySql常用数据类型分析
整数类型 TINYINT.SMALLINT.MEDIUMINT.INT.BIGINT 分别使用8,16,24,32,64位存储空间,值得范围-2的(N-1)方到2的(N-1)方-1.根据需要存储的范围 ...
- git命令分类图
- [C#] 走进异步编程的世界 - 在 GUI 中执行异步操作
走进异步编程的世界 - 在 GUI 中执行异步操作 [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5877042.html 序 这是继<开始接 ...
- JavaScript: 零基础轻松学闭包
本文面向初学者,大神轻喷. 闭包是什么? 初学javascript的人,都会接触到一个东西叫做闭包,听起来感觉很高大上的.网上也有各种五花八门的解释,其实我个人感觉,没必要用太理论化的观念来看待闭包. ...
- 使用swagger作为restful api的doc文档生成
初衷 记得以前写接口,写完后会整理一份API接口文档,而文档的格式如果没有具体要求的话,最终展示的文档则完全决定于开发者的心情.也许多点,也许少点.甚至,接口总是需要适应新需求的,修改了,增加了,这份 ...
- 一个简单的webservice的demo(下)winform异步调用webservice
绕了一大圈,又开始接触winform的项目来了,虽然很小吧.写一个winform的异步调用webservice的demo,还是简单的. 一个简单的Webservice的demo,简单模拟服务 一个简单 ...
- 【十大经典数据挖掘算法】EM
[十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 1. 极大似然 极大似然(Maxim ...
- 用C#实现MD5的加密(转载)
方法一 首先,先简单介绍一下MD5 MD5的全称是message-digest algorithm 5(信息-摘要算法,在90年代初由mit laboratory for computer scien ...