MySQL事务及字符集介绍
原文 http://www.abcdocker.com/abcdocker/77
事务介绍
事务四大特性(ACID)
事务的开启
mysql> show variables like "%autocommit%";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | ON |
+---------------+-------+
1 row in set (0.00 sec)
禁止自动提交
MySQL引擎概述
1.1 什么是存储引擎?
1.2 MySQL存储引擎架构
MyISAM引擎介绍
1.1什么是MyIASM引擎?
mysql> show create table user\G
ENGINE=MyISAM
mysql> show create table wp_users\G
ENGINE=InnoDB
[root@db02 /]# ll /data/3306/data/mysql
-rw-rw---- 1 mysql mysql 9996 Jun 20 2016 proc.frm
-rw-rw---- 1 mysql mysql 0 Jun 20 2016 proc.MYD
-rw-rw---- 1 mysql mysql 2048 Jun 20 2016 proc.MYI
---------------------分割线----------------------
[root@db02 mysql]# file user.MYI
user.MYI: MySQL MISAM compressed data file Version 1
[root@db02 mysql]# file user.MYD
user.MYD: DBase 3 data file (167514107 records)
[root@db02 mysql]# file user.frm
user.frm: MySQL table definition file Version 9
1.2 MyISAM引擎特点(此处面试最好全说出来)
[root@db01 ~]# grep key_buffer_ /etc/my.cnf
key_buffer_size = 16K
1.3 MyIASM引擎适用的生产业务场景
1.4 MyIASM引擎调优精要
[root@db02 oldboy]# grep query /data/3306/my.cnf
query_cache_size = 2M
query_cache_limit = 1M
query_cache_min_res_unit = 2k
mysql> select count(*) from mysql.user;
+----------+
| count(*) |
+----------+
| 11 |
+----------+
1 row in set (0.00 sec)
InnoDB引擎
1.1 什么是InnoDB引擎?
[root@db02 oldboy]# ll /data/3306/data/oldboy
total 16
-rw-r--r-- 1 root root 65 Jul 4 00:03 db.opt
-rw-r--r-- 1 root root 8644 Jul 4 00:03 student.frm
[root@db02 oldboy]# ll /data/3306/data/
total 143432
drwxr-xr-x 2 root root 4096 Jul 4 00:03 aaa
drwxr-xr-x 2 root root 4096 Jul 4 00:03 cyh
drwxr-xr-x 2 root root 4096 Jul 4 00:03 dadadadadadad
-rw-r--r-- 1 root root 134217728 Jul 4 00:03 ibdata1 存放InnoDB数据的文件
[root@db02 oldboy]# grep ibdata /data/3306/my.cnf
innodb_data_file_path = ibdata1:128M:autoextend
可以修改为:
ibdata1:128M:ibdata2:128M:autoextend
企业场景尽量调大一点
InnoDB引擎特点
InnoDB特点:面试必答题
InnoDB引擎使用的生产业务场景
[root@db02 oldboy]# grep -i innodb /data/3306/my.cnf
#default_table_type = InnoDB
innodb_additional_mem_pool_size = 4M
innodb_buffer_pool_size = 32M
innodb_data_file_path = ibdata1:128M:autoextend
innodb_file_io_threads = 4
innodb_thread_concurrency = 8
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
innodb_log_file_size = 4M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_file_per_table = 0
[root@db02 oldboy]# ll /data/3306/data/ibdata1
-rw-r--r-- 1 root root 134217728 Jul 4 00:03 /data/3306/data/ibdata1
innodb_file_per_table
innodb_data_home_dir
InnoDB引擎调优精要
innodb_buffer_pool_size = 2048
innodb_flush_log_at_trx_commit = 1 #设置为0就等于innodb_log_buffer_size队列满后在统一存储,默认为1,也是最安全的设置。
innodb_file_per_table = 0 #InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间。0关闭,1开启。
独立表空间优点:
1、每个表都有自己独立的表空间。
2、每个表的数据和索引都会存在自己的表空间中。
3、可以实现单表在不同的数据库中移动。
4、空间可以回收(除drop table操作处,表空不能自己回收。)
生产环境中如何批量更改MySQL引擎
创建后引擎的更改,5.0以上
ALTER TABLE OLDBOY ENGINE = INNODB;
ALTER TABLE OLDBOY ENGINE = MyISAM;
mysql> ALTER TABLE pre_ucenter_vars ENGINE = INNODB;
Query OK, 0 rows affected (0.33 sec)
Records: 0 Duplicates: 0 Warnings: 0
查看修改后结果
mysql>show create table pre_ucenter_vars\G
mysqldump >bak.sql
nohup sed -e 's/MyIASM/InnoDB/g' bak.sql >innodb.sql &
mysql< innodb.sql
数据量不好
独立命令:
mysql_conver_table_format --user=root --password=123456 --socket=/data/3306/mysql.sock --engine=MyIASM oldboy t2
依赖:yum -y install perl-DBI perl-DBD-MySQL perl-Time-Hires
CREATE TABLE `test` (
`id` bigint(12) NOT NULL auto_increment COMMENT '主键',
`name` varchar(12) NOT NULL COMMENT '姓名',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
有关MySQL企业常见企业面试题
mysqldump -uroot -p123456 -A -x -B -F -R --master-data=2|gzip >/data/bak$(date +%F).sql.gz
mysqldump -uroot -p123456 -A -b -f -r --master-data=2 --single-transaction|gzip >/data/bak.sql.gz
MySQL事务及字符集介绍相关推荐
- mysql数据库执行事务日志_第十章 MySQL事务及其日志介绍
一.数据库升级 #1.提出方案 1)升级的方法 2)升级的步骤 3)升级的时间 4)升级步骤可能会出现的问题 5)出现的问题怎么解决,解决时间 6)升级后出现的问题 #2.搭建新的数据库 #3.备份就 ...
- MySQL事务隔离级别介绍
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的.低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销. Read Uncommitted(读 ...
- MySQL事务的的介绍及使用
2019独角兽企业重金招聘Python工程师标准>>> 1. 事务的特性 1.1 原子性(Atomicity): 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么 ...
- 使用mysql事务管理_MySQL事务管理的介绍(附示例)
原标题:MySQL事务管理的介绍(附示例) 事务处理用来维护数据库等完整性,保证mysql操作要么成功,要么失败(myisam不支持事务) 1.关键词 事务(transaction)指一组SQL语句; ...
- Mysql事务字符集
Mysql事务 Innodb存储引擎的中的事务完全服务ACID: 原子性.2.一致性.3.隔离性.4.持久性 理解上和oracle类似. 事务隔离级别 1.Read uncommitted 读未提交: ...
- mysql事务用法介绍及储存引擎介绍(MyLSAM,Innodb)
文章目录 前言 事务 什么是事务 事务的3大范式 事务的三大特点 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability) 控制事务 ...
- MySQL事务隔离级别和Spring事务关系介绍
事务隔离级别介绍 隔离级别 脏读 不可重复读 幻读 未提交读(Read uncommitted) 可能 可能 可能 已提交读(Read committed) 不可能 可能 可能 可重复读(Repeat ...
- mysql 数据库字符集转换_字符集介绍及mysql数据库编码转换
一.字符集介绍: 1.ASCII ASCII是英文American Standard Code for Information Interchange的缩写,美国标准信息交换代码是由美国国家标准学会( ...
- mysql 查询编码转换_字符集介绍及mysql数据库编码转换
一.字符集介绍: 1.ASCII ASCII是英文American Standard Code for Information Interchange的缩写,美国标准信息交换代码是由美国国家标准学会( ...
最新文章
- 《全球人工智能产业地图》发布(附PPT图片)
- JAVA正则表达式:Pattern类与Matcher类详解(转)
- python啥意思-python是什么意思
- java成绩排名平均成绩_java 数组 输入5名学生的成绩 得出平均分。
- 安徽省2021年高考各科成绩查询,2021年安徽高考总分是多少 考试科目及各科分数...
- 蚂蚁金服自研分布式关系数据库OceanBase上线阿里云
- PHP 利用cron 实现文章同步至新浪、网易等微博
- C#LeetCode刷题之#686-重复叠加字符串匹配(Repeated String Match)
- 【浏览器】浏览器模式与文档模式区别
- 理想汽车CEO李想深夜回应“水银事件”:百分百支持你去报案
- Linux目录结构示意详解图
- 网易的企业免费邮箱和腾讯的企业邮箱
- idea swagger生成接口文档_Springboot结合swagger-ui自动生成接口文档
- 国标28181:实时视频播放
- 机械硬盘无法访问要怎么办啊
- window版ELK搭建
- 专家提醒:“对乙酰氨基酚”(该品国际非专有药名为Paracetamol,商品名很多)不宜过量使用
- java数独最快解_java快速解数独
- 第一章 Arm 架构科普解读(2023新)
- 编程是门艺术_是编程艺术吗?
热门文章
- java source folder作用_java项目把源码放到folder里,不是source folder,这个java代码还能被调用吗?...
- android 手机号码显示加空格,Android实现输入手机号时自动添加空格
- html里面Meta标签的使用
- android dropbox切换账户,android – 如何获取我的APP_KEY和SECRET_KEY的Dropbox同步?
- sql backup database备份d盘_SQL数据库备份概述
- To disable deprecation,,use _CRT_SECURE_NO_WARNINGS
- 陕西居民医保微信缴纳教程来了,太方便了
- SyntaxError: Non-UTF-8 code starting with ‘\xe2‘ 今天是小白上线的一天
- SSP状态寄存器SSPSTAT
- 使用 docker 搭建 nginx+php-fpm 环境 (两个独立镜像)