MySql
Bear Coding
这个作者很懒,什么都没留下…
展开
-
CentOS YUM安装MySql
CentOS版本:7.7.1908MySql版本:8.0.181、下载MySql的YUM Repositorywgethttp://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm5.7版本:mysql57-community-release-el7-11.noarch.rpm或者进入官网选择自己想要的:...原创 2019-12-01 18:08:19 · 2072 阅读 · 0 评论 -
MySql主从复制:GTID复制
GTID(global transaction identifiers)复制是完全基于事务的复制,每个在主库上执行的事务都会被分配一个唯一的全局ID并记录和应用在从库上。1、当一个事务在主库提交时,为此事务分配一个GTID,并记录在主库的bin log中。2、主库的bin log传输到从库的relay log中,从库读取此GTID并生成gtid_next系统参数。3、从库验证此GTID...原创 2019-12-07 22:02:36 · 2111 阅读 · 0 评论 -
MySql主从复制:半同步复制
默认创建的MySql复制是异步的,主库将数据库修改事件写入到bin log日志,并不知道从库是否获取了这些事件并应用在从库上。所以当主库崩溃导致需要主从切换时,从库上的数据有可能不是最新的。可以通过扩展的方式支持半同步复制:当主库执行一个更新操作事务时,提交操作会被阻止直到至少有一个半同步复制的slave确认已经收到本次更新操作,主库的提交操作才会继续。半同步复制的slave发生确认消息只...原创 2019-12-07 21:38:16 · 2133 阅读 · 0 评论 -
MySql主从复制:异步复制
目录一、Master配置二、Slave配置三、简单排错四、常用命令与参数配置主库将编辑(非查询)操作写入到bin log中,从库负责读取主库的bin log,并在本地复制一份到relay log中,然后将relay log中的操作在从库执行一遍。每个从库需要配置读取主库日志的文件名和日志位置,否则会执行已经存在数据的操作,从而导致异常。主库和从库都必须有一个唯一的ser...原创 2019-12-02 23:32:42 · 2159 阅读 · 21 评论 -
MySql备份与还原:文件迁移
目录一、MyISAM迁移二、InnoDB迁移使用文件迁移的方式更适用于数据量比较大的库/表,使用mysqldump的话生成备份和还原都比较耗时。如果数据量不大,使用mysqldump还是挺方便的。详见:mysqldump备份与还原MyISAM和InnoDB的迁移方式不太一样,所以需要分开来讲。一、MyISAM迁移MyISAM迁移只需要将表的三个文件迁移到目标数据库下面就可以...原创 2019-11-22 14:34:48 · 2369 阅读 · 0 评论 -
MySql备份与还原:mysqldump
mysqldump是个单线程逻辑备份工具,将数据库备份成一个包含sql语句的文本文件,包含了建表和insert语句等。如果数据量较大,使用mysqldump太慢。可以采用表文件迁移的方式;详见:MySql文件迁移目录一、单或多表二、单库三、多个数据库四、备份所有数据库五、mysqldump常用参数一、单或多表1、备份命令:mysqldump -h [主机名...原创 2019-11-22 17:31:26 · 2422 阅读 · 0 评论 -
windows下安装MySql 8.0.18
1、下载安装包:https://dev.mysql.com/downloads/mysql/2、解压到安装目录下,并创建my.ini 配置文件和data存储文件夹,修改my.ini文件的basedir和datadir属性。[mysqld] #设置3306端口 port = 3306# 设置mysql的安装目录 basedir=D:\Program Files (...原创 2019-11-21 13:46:44 · 2092 阅读 · 0 评论 -
MySql复制介绍
复制的工作原理是将数据库修改事件记录到bin log中并传递到slave,然后slave在本地还原的过程。MySql复制的粒度可以是主库上的所有数据库也可以是指定的一个或多个数据库,也可以是一个数据库中的某些表。事件记录到bin log的格式有以下三种:a、基于语句的复制statement(statement based replication):主库将sql语句写入到bin log中。...原创 2019-11-21 10:01:59 · 2180 阅读 · 0 评论 -
MySql表分区的创建与使用
一、创建表分区MySql默认是支持表分区的,可以通过语句查询是否开启表分区功能:show plugins ;创建表分区只需要在创建表的语句后面加上分区语句就可以,例如:create table user(id int(11) not null,name varchar(32) not null) --正常的创建语句partition by range(id) -...原创 2019-11-20 18:08:58 · 17073 阅读 · 0 评论 -
MySql事务隔离级别:读未提交(Read uncommitted)、读已提交(Read committed)、可重复读(Repeatable read)、可串行化(Serializable )
一、MySql事务隔离级别隔离级别 脏读 不可重复读 幻读 读未提交(Read uncommitted) 可能 可能 可能 读已提交(Read committed) 不可能 可能 可能 可重复读(Repeatable read) 不可能 不可能 可能 可串行化(Serializable ) 不可能 ...原创 2019-11-19 16:36:00 · 5305 阅读 · 1 评论 -
MySql慢查询
慢查询指的是执行时间超过一定时间的查询语句。我们可以通过慢查询日志来记录执行时间较慢的查询语句,以便于有针对性的对查询语句进行优化。可以将慢查询时间设置为0,用来记录所有的查询语句,通常用于后台使用ORM框架的时候可以知道最后生成的sql语句是怎样的;也可以使用general_log来记录所有的sql语句。慢查询查看是否开启:SHOW VARIABLES LIKE 'slow_q...原创 2019-05-09 09:20:04 · 2153 阅读 · 0 评论 -
MySql相关性能优化(InnoDB)
目录一、MySql服务器二、表结构三、索引四、查询一、MySql服务器1.1 查询缓存当数据库中的操作增删改比较多的时候,可以关闭查询缓存。 因为每次增删改的时候都会清空该表的缓存。即使要使用查询缓存,也要合理的设置缓存空间。当数据库中的查询操作更频繁的时候可以启用查询缓存。需要注意的是在sql上不能发生任何改变,否则不会命中缓存;当查询语句中包含一些不确...原创 2019-04-25 09:23:39 · 2549 阅读 · 0 评论 -
MySql数据库索引、聚集索引、联合索引
通过建立索引可以有效的提高查询性能。索引也分为很多种(聚集、非聚集、联合索引等),数据结构主要有哈希索引和B+树等,哈希索引在单个查询性能上很强大,但不适合做范围查询。以下讨论主要是建立在B+树索引上面的。索引一般采用B+树的数据结构,B+树是一个有序的树形结构,每个父节点可以有多个子节点,子节点之间也通过指针相互连接。建立索引需要注意的地方:a.尽量不要在字段类型长度太大的字段上建...原创 2019-04-27 17:08:16 · 4740 阅读 · 0 评论 -
Docker安装Mysql
一、拉取镜像采用mysql5.7.25版本:docker pull mysql:5.7.25镜像仓库地址:https://hub.docker.com/explore二、创建服务器本地资源文件夹分别用于存储数据、日志、配置文件:mkdir -p /opt/mysql/data /opt/mysql/logs /opt/mysql/conf三、运行容器使用...原创 2019-04-06 13:58:26 · 2123 阅读 · 0 评论 -
使用Sqlyog迁移SqlServer表结构和数据到Mysql
一、在MySql中新建一个数据库”Temp“二、新建一个.dsn文件2.1 右击数据库依此选择:导入 =》 导入外部数据2.2 选择”开始新工作“2.3 点击”建立新的DSN“三、开始导入数据库3.1 选择刚才创建好的dsn文件,并输入SqlServer的登陆账号和密码3.2 一直点击下一步到这里3.3 选中表后可...原创 2018-09-06 10:15:37 · 3588 阅读 · 2 评论