mysql数据库

【超详细全过程】安装MySQL

。_饼干妹妹 提交于 2020-03-22 00:38:29
安装 第一步:打开百度云链接,下载安装包 链接:https://pan.baidu.com/s/1gE96PTcuMovmqE4TEFHvwA 提取码:rm6g 第二步:双击打开,等待5s,点击下一步 第三步:接受协议,点击下一步 第四步:选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,选择“Custom”。 第五步:点击“Browse”修改安装目录,建议不要放在与操作系统同一分区,这样可以防止系统备份还原的时候,数据被清空。按“OK”继续。点击“Next”。 第六步:点击“Install”。等待一会 第七步:连续点击“Next”。直至界面关闭 第八步:点击“Finish”。至此安装完成,接下来进入MySQL配置 配置 第一步:点击“Next”。 第二步:选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程。 第三步:选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine

MySQL系列:性能优化

我们两清 提交于 2020-03-21 23:34:01
1. 优化简介   MySQL性能优化包括:查询优化、数据库结构优化、MySQL服务器优化等。 2. 查询优化 2.1 分析查询语句   MySQL提供EXPLAIN和DESCRIBE,用来分析查询语句。   EXPLAIN语句的基本语法: EXPLAIN [EXTENDED] SELECT select_options   其中,EXTENDED用于EXPLAIN产生附加信息,select_options是SELECT语句的查询选项,包括FROM WHERE子句等。 mysql> EXPLAIN SELECT * FROM product; +----+-------------+---------+------------+------+---------------+------+---------+------+------+----------+-------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+---------+------------+------+---------------+------+---------+------+-----

使用Maven插件构建Docker镜像

青春壹個敷衍的年華 提交于 2020-03-21 20:37:54
使用Maven插件构建Docker镜像 原创: 梦想de星空 macrozheng 6月12日 本文主要介绍如何使用Maven插件将SpringBoot应用打包为Docker镜像,并上传到私有镜像仓库Docker Registry的过程。 Docker Registry Docker Registry 2.0搭建 docker run -d -p 5000:5000 --restart=always --name registry2 registry:2 如果遇到镜像下载不下来的情况,需要修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值,然后重启docker服务: { "registry-mirrors": ["https://registry.docker-cn.com"]} Docker开启远程API 用vim编辑器修改docker.service文件 vi /usr/lib/systemd/system/docker.service 需要修改的部分: ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 修改后的部分: ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0

MySQL服务器 IO 100%的案例分析

a 夏天 提交于 2020-03-21 16:59:35
【问题】 有台MySQL 5.6.21的数据库实例以写入为主,IO %util接近100% 写入IOPS很高 【分析过程】 1、通过iotop工具可以看到当前IO消耗最高的mysql线程 2、查看线程49342的堆栈,可以看到正在进行redo log的刷新,对应的是9号文件 3、9号文件对应的是redo log的第一个文件 为什么mysql进程会频繁的刷新redo log文件,要结合redolog的刷盘策略来分析,关键是innodb_flush_log_at_trx_commit参数, 默认是1,最安全,但在写压力大的情况下,也会带来较大的性能影响,每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去。 结合这个集群的写入场景来看,大部分都是小事务的写入,每次事务提交都会触发刷盘动作,这种场景下通过增大innodb_log_buffer_size和innodb_log_file_size的优化效果不明显 【优化方案】 1、应用层面,对于写压力大的系统,可以将单条的insert语句优化为小批量的insert语句,这样事务commit的次数减少,redo log刷盘减少,性能理论上会有提升 2、MySQL层面,对于日志类型的系统,如果允许宕机的情况下少量数据丢失,可以将innodb_flush_log_at_trx

mysql忘记root密码连接本地库

我是研究僧i 提交于 2020-03-21 15:02:08
今天想做个小项目,决定用mysql数据库,但是好久没用mysql了,也忘掉了当时建库时root密码是什么了,找到了一篇 文章 ,在这里记录下。 Windows 下 mysql 忘记 root 密码的解决方法: Mysql 版本: 5.1.55-community MySQL Community Server (GPL) 1、 首先检查 mysql 服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令: net stop mysql 或者在 windows 任务管理器中结束 mysqld.exe 进程,或者在控制面板,管理工具里面的服务找到 mysql ,将其停止服务。 打开第一个 cmd 窗口,切换到 mysql 的 bin 目录,运行命令: mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables 注释: 该命令通过跳过权限安全检查,开启 mysql 服务,这样连接 mysql 时,可以不用输入用户密码。 "C:\Program Files\MySQL\MySQL Server 5.1\my.ini" 指配置文件 my.ini ,一般在 mysql 安装目录里面。 如: =========================

比较MySQL 与SQL server

戏子无情 提交于 2020-03-21 10:12:03
MySQL 和SQL server 都是后台数据库管理软件,都比较常用。 SQL server 多用于对某平台数据库的管理,数据的操作,比如财务系统数据等的录入、操作。 MySQL的图形化用户界面是SQLyog,它常用于后端中数据库的搭建,多站点多用户读取数据库数据常用其搭建。 因此,对于后端开发来说,熟悉SQLyog更重要。 来源: https://www.cnblogs.com/beautypatty/p/12536504.html

MySQL学习(5)

血红的双手。 提交于 2020-03-21 09:35:29
三 触发器   对某个表进行某种操作欠货(如:增删改查),希望触发某个动作,可以使用触发器。   1.创建触发器 create trigger trigger1_before_insert_tb1 before insert on tb1 for each row begin ... endbefore可以换成after, insert可以换成delete,update.      在想tb1插入数据后,tb2结果:      触发器获得用户提交的数据: create trigger tri_after_insert_tb1 after insert on tb1 for each row begin NEW.nid (为用户新提交过来的 tb1.nid的值) NEW.name(为用户新提交过来的tb1.name的值) insert into tb2(num) values(NEW.nid); end create trigger tri_after_delete_tb1 after delete on tb1 for each row begin OLD.nid (为删除的tb1.nid的值) OLD.name(为删除的tb1.name的值) insert into tb2(num) values(OLD.nid); end create trigger tri_after

阿里云PolarDB及其共享存储PolarFS技术实现分析(上)

て烟熏妆下的殇ゞ 提交于 2020-03-21 06:37:21
PolarDB是阿里云基于MySQL推出的云原生数据库(Cloud Native Database)产品,通过将数据库中计算和存储分离,多个计算节点访问同一份存储数据的方式来解决目前MySQL数据库存在的运维和扩展性问题;通过引入RDMA和SPDK等新硬件来改造传统的网络和IO协议栈来极大提升数据库性能。代表了未来数据库发展的一个方向。本系列共2篇文章,主要分析为什么会出现PolarDB以及其技术实现。 由于PolarDB并不开源,因此只能基于阿里云公开的技术资料进行解读。这些资料包括从去年下半年开始陆续在阿里云栖社区、云栖大会等场合发布的PolarDB相关资料,以及今年以来公开的PolarDB后端共享存储PolarFS相关文章。 PolarDB出现背景 MySQL云服务遇到的问题 首先来了解下为什么会出现PolarDB。阿里云数据库团队具备国内领先的技术能力,为MySQL等数据库在国内的推广起到了很大的作用。在阿里云上也维护了非常庞大的MySQL云服务(RDS)集群,但也遇到了很多棘手的问题。举例如下: 实例数据量太大,单实例几个TB的数据,这样即使使用xtrabackup物理备份,也需要很长的备份时间,且备份期间写入量大的话可能导致redo日志被覆盖引起备份失败; 大实例故障恢复需要重建时,耗时太长,影响服务可用性(此时存活节点也挂了,那么完蛋了)。时间长有2个原因

Jmeter操作mysql数据库测试

谁都会走 提交于 2020-03-21 06:35:57
1. 选中线程组鼠标点击右键 添加 -->配置元件 --> JDBC Connection Configuration; 2. DataBase Connection Configuration配置 Variable Name: 配置元件的的所有配置所保存的变量,自定义变量名称(不能使用mysql作为变量名, 多个jdbc配置元件可以使用相同的变量,但是只有一个会被jdbc请求使用 ),这里定义的变量名称会被之后的jdbc请求引用,以此来判断请求使用的是        哪个配置元件所定义的数据库配置,必填项,如果不填运行后会报错 Variable Name must not be empty for element:JDBC Connection Configuration Database URL:数据连接的访问地址 JDBC Driver class:数据库连接的驱动类 Username:访问数据库的用户名 Password:访问数据的密码 对于Database URL和JDBC Driver class 不同的数据的链接和驱动类是不同的 3. 添加数据库请求,选中线程组右键添加-->Sampler-->JDBC Request Variable Name:这里必须要和 JDBC Connection Configuration 定义 一致,不然会出现请求失败(No pool

Mysql学习之事务的隔离性

血红的双手。 提交于 2020-03-21 06:11:45
今天咱们说说事务,相信大家都知道事务的 ACID (Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性)。 原子性:表示一个事务不可在分割,而且事务中的操作要么一起成功,要么一起失败; 一致性:表示事务前后数据的完整性必须保持一致; 持久性:表示事务一旦进行提交,那么数据的就改便会永久保存,即使数据库出现宕机也不会任何影响。 前面三个很好理解,那咱们再说说事务的隔离性, 事务的隔离就是表示事务与事务之间不会相互干扰 。但是多事务的情况下,还是很容易出现脏读、不可重复读以及幻读的问题。我们简单的解释一下这几个词, 脏读:当数据库中一个事务A正在修改一个数据但是还未提交或者回滚,另一个事务B 来读取了修改后的内容并且使用了,之后事务A提交了,此时就引起了脏读。 此情况仅会发生在: 读未提交的的隔离级别. 不可重复读:在一个事务A中多次操作数据,在事务操作过程中(未最终提交),事务B也才做了处理,并且该值发生了改变,这时候就会导致A在事务操作的时候,发现数据与第一次不一样了。 就是不可重复读。 此情况仅会发生在:读未提交、读提交的隔离级别. 幻读:一个事务按相同的查询条件重新读取以前检索过的数据,却发现其他事务插入了满足其查询条件的新数据,这种现象就称为幻读。幻读是指当事务不是独立执行时发生的一种现象