核心军规 尽量不在数据库做运算 控制单表数据量 纯INT不超过10M条,含Char不超过5M条 保持表身段苗条 平衡范式和冗余 拒绝大SQL,复杂事务,大批量任务 字段类军规 用好数值字段,尽量简化字段位数...把字符转化为数字 优先使用Enum或Set 避免使用Null字段 少用并拆封Text/Blob 不在数据库中存图片 索引类军规 谨慎合理添加索引 字符字段必须建立前缀索引?...UTF8MB4 for by 可能还有人不知道,MySQL 数据库的字符集,要用 utf8mb4,而不是utf8。...因为MySQL的utf8不是真正的UTF-8,只支持最多三个字节的字符。真正的UTF-8可能会出现四个字节的字符。...MySQL 从来没有修复这个 Bug,而是使用另外的解决方法:真正的UTF-8字符集用 utf8mb4的名字提供。
ror对于初学者来讲,可能最大的困难莫过于开发环境的安装与搭建,今天折腾了大半天基本搞定了,把过程贴在这里,以便初学者少走弯路。...3.安装mongrel(相当于asp.net开发中的IIS,在网上看到有说IIS上也可以跑ROR,不过没试过) 命令行: gem install mongrel (有关mongrel的更多操作,可以参照这篇文章...这里可以看到rails项目默认使用的是SQLite做为数据库,点击"About your application’s environment"将显示如下信息: ?...group_id=904 下载InstantRails-2.0-win.zip解压后得到),当然如果想使用mysql做为数据库的话,继续往下看 5.安装mysql 5.1 百度“mysql下载”第一个便是下载地址...ok,基本上搞定了,好好享受ROR的乐趣吧。 其它问题请参见:司徒正美先生的 搭建rails运行环境
yum remove mysql mysql-server mysql-libs rm -rf /var/lib/mysql rm /etc/my.cnf rpm -qa|grep mysql //...查看是否安装了mysql数据库 >> rpm -e mysql --nodeps MYSQL安装 rpm -ivh MySQL-client-5.5.38-1.rhel5.x86_64.rpm rpm...启动MYSQL service mysql start >> Starting MySQL....5:启用 6:关闭 chkconfig mysql on //设置开机自启动 查看版本 mysql -V >> mysql Ver 14.14 Distrib 5.5.38, for Linux...(x86_64) using readline 5.1 连接MYSQL mysql -u root -p Enter password: Welcome to the MySQL monitor.
软件使用的对象:面向机关和事业单位内人事信息管理人员和在职开发人员。 【架构选型】 vhr面向的群体范围并不大,并非属于互联网应用,所以市面上鼓吹的高并发,高性能对于这个项目来说并不适用。...4 操作员管理 管理员基本信息的管理,及其增删改功能。 5 备份恢复数据 可对员工资料数据进行备份,并在适当的时候还原。 6 初始化数据库 对整个数据库资料初始化的操作。...二,数据库表设计 vhr系统使用者大致可分为两类,一种是系统管理员,另外一种是拥有各种权限的hr员工。 vhr一共有21张表,其中核心的五张表: hr表 ? role角色表 ?...三,拆解项目 登录模块 不知道面对整个项目该如何下手,还好在图书馆借了SpringBoot+Vue的书,实战介绍完数据库就到登录模块了。 在没有思路的时候,姑且先从这里开始吧。...第一步就是修改数据库相关配置 首先建库,把vhr.sql在MySQL里创建出来。
github地址https://github.com/dmhsq/dmhsq-mysql-db 可用于腾讯云SCF以及云开发环境 错误处理尚未完善 错误参考mysql错误 引入依赖包 npm install...dmhsq-mysql-db 效果如下 简化了mysql的使用 未经本人允许,禁止转载 nodejs环境快速操作mysql数据库 安装 使用示例 引入资源 连接数据库 引用表 条件匹配...数据连接池版本 npm install dmhsq-mysql-pool 使用示例 快速操作mysql 错误处理尚未完善 部分错误参考mysql错误 返回的均为Promise对象 所有操作结束末尾必须携带...1”,“值”,like],[“数据库键名2”,“值”,like]] like 值可取 “top”:以字段开头的 “end”:是以字段结尾的 “in”:包含字段 输入其他非法值均以in处理 //如果需要获取数据...不影响查询 只是格式化返回的数据格式 type可选值为 updata(更新) del(删除) count(计数) add(插入) 无需后缀添加get() //如果是查询数据库数据 collection.sqlQuery
github地址https://github.com/dmhsq/dmhsq-mysql-db 可用于腾讯云SCF以及云开发环境 功能尚未完善 基本功能具备 可自定义语句 演示使用的数据库为腾讯云TDSQL...可配合 navicat for mysql 降低mysql的使用门槛 错误处理尚未完善 错误参考mysql错误 引入依赖包 npm install dmhsq-mysql-db 效果如下 简化了mysql...的使用 [效果] 未经本人允许,禁止转载 安装 普通版本 npm install dmhsq-mysql-db 数据连接池版本 npm install dmhsq-mysql-pool 使用示例 快速操作...mysql 错误处理尚未完善 部分错误参考mysql错误 返回的均为Promise对象 所有操作结束末尾必须携带get() 比如 collection.sort({}).get() collection.del...1","值",like,"数据库键名2","值",like] like 值可取 "top":以字段开头的 "end":是以字段结尾的 "in":包含字段 输入其他非法值均以in处理 //如果需要获取数据
[Docker] Docker 快速搭建本地MySQL开发环境 关于 Docker 的安装使用本文不再赘述,有兴趣的可以通过官网或是浏览我的专栏文章了解。...今天着重给大家介绍下如何利用Docker快速搭建一个MySQL的环境,来协助本地开发。...除了MySQL,其他如mongoDB、redis等环境也可以快速搭建。...开发环境连接 ? ? 接下来就可以直接开始MySQL的使用了,是不是很简单?...然后本地开发的时候,并不需要去关注mysql的配置和安装了,简单来说,就是查询镜像、拉取镜像、运行镜像。简单的三部操作就可以拥有一个配置好的mysql环境了。
最近在和研发同学聊天的时候发现他们有一套数据库开发环境,严格的说这是一套混合环境,算是开发和测试环境的合体。...整体而言,开发环境主要是为了提升开发效率,更方便的使用,主要是对于办公机开放,对权限的管理是相对松散的,为此这些年我看到过很多特殊的情况: 1)有的研发部门会自购服务器安装数据库,有些情况下安装部署不上...3)很多开发环境数据库是安装在Windows上面的,有的还是32位的,而我们在Windows平台的MySQL数据库运维经验几乎为0 而测试环境的管理是相对会谨慎一些,尽可能只开放测试服务器的权限,部分权限的使用是需要审批机制的...尤其是开发环境的管理,是我们需要着力改进的目标,有三个层面的实现难点,一个是对于虚拟化资源的管理,第二个是对于数据库权限的管控,比如收到不少业务的需求,希望能够在一个共同的数据库实现开发,也就意味着权限的设计方面需要做一定程度的共享设置...第三个是数据的双向同步,比如开发环境和测试环境的表结构映射,数据同步等。 最近在做的数据库环境标准化管理,仔细想想还是一步大棋,要涉及的层面也很多,需要做中长期的规划和推进。
来自:www.slideshare.net/mysqlops/mysql-9838563 来自一线的实战经验,主要针对DBA和后端开发人员,总是在灾难发生后,才想起容灾的重要性;总是在吃过亏后,才记得曾经有人提醒过...文末是详细的视频讲解和PDF下载。...核心军规 尽量不在数据库做运算 控制单表数据量 纯INT不超过10M条,含Char不超过5M条 保持表身段苗条 平衡范式和冗余 拒绝大SQL,复杂事务,大批量任务 字段类军规 用好数值字段,尽量简化字段位数...把字符转化为数字 优先使用Enum或Set 避免使用Null字段 少用并拆封Text/Blob 不在数据库中存图片 索引类军规 谨慎合理添加索引 字符字段必须建立前缀索引?...Java 中的伪共享详解及解决方案
MySQL数据库开发的 36 条军规 标签:数据库 核心军规(5个) 尽量不在数据库做运算。 控制单表数量:行不超过500W条,超出分表;列不超过50个,超过拆表。...(节省空间,提升效率) 优先使用Enum或者Set类型 避免字段的值为NULL(NULL字段很难查询优化、NULL字段的索引需要额外空间、NULL字段的复合索引无效) 尽量少用text.../blob类型(尽量使用varchar代替text字段),需要的时候请拆表 不在数据库存图片,请存图片路径 索引类规约(5个) 合理使用索引(改善查询,减慢更新,索引一定不是越多越好) 字符字段必须建前缀索引...limit高效分页(limit越大,效率越低) limit 10000,10 改为 where id >xxx limit 11 使用union all替代union(union有去重开销) 发生高并发时,数据库少用两个表以上的...避免转换导致索引丢失) 使用 LOAD DATA 导入命令比 insert 速度快20倍左右(适合导入大量测试数据) 打散大批量更新(例如:在凌晨空闲时期更新执行) 约定类军规(4个) 隔离线上线下(开发用
9.避免使用存储过程、触发器、函数等,这些特性会将业务逻辑与数据库耦合在一起,并且MySQL的存储过程,触发器,函数中可能存在bug。 10.尽量避免使用子查询,连接。...11.使用合理的sql语句以减少与数据库的交互次数。 12.建议使用合理的分页技术以提高操作效率。...const、system:当MySQL对查询的某部分进行优化,并转化为一个常量时,可使用这些类型进行访问。...如果主键置于where列表中,MySQL就能将该查询转换为一个常量,system是const 的一个特例,当查询的表只有一行的情况下,即可使用system。...当然上述演示比较简单,也不是非常具备实战色彩,对于explain的使用,我们还应在更多的数据库操作场景中多多使用,这是sql调优的利器。
image.png 安装MySQL sudo apt-get update sudo apt-get install mysql-server sudo apt-get install libmysqlclient-dev...登录 MySQL mysql -u root -p 创建用户 REATE USER 'username'@'host' IDENTIFIED BY 'password'; 进行授权用来远程连接 GRANT.../mysql.conf.d/mysqld.cnf 将bind-address = 127.0.0.1 设置成bind-address = 0.0.0.0(设备地址) 腾讯云出现权限不够的问题...执行 flush privileges;命令立即生效 flush privileges; 查询数据库的用户(看到如下内容表示创建新用户成功了) SELECT DISTINCT CONCAT('User...: ''',user,'''@''',host,''';') AS query FROM mysql.user; 使用exit命令退出MySQL exit
所有的数据库对象名称必须使用小写字母并用下划线分割(MySQL大小写敏感,名称要见名知意,最好不超过32字符) 所有的数据库对象名称禁止使用MySQL保留关键字(如 desc、range、match...,从一开始就进行数据字典的维护 尽量控制单表数据量的大小在500w以内,超过500w可以使用历史数据归档,分库分表来实现(500万行并不是MySQL数据库的限制。...尽量做到冷热数据分离,减小表的宽度(mysql限制最多存储4096列,行数没有限制,但是每一行的字节总数不能超过65535。...(使用文件服务器) 禁止在线上做数据库压力测试 禁止从开发环境,测试环境直接连生产环境数据库 限制每张表上的索引数量,建议单表索引不超过5个(索引会增加查询效率,但是会降低插入和更新的速度)...在代码中写分页查询逻辑时,若 count 为 0 应直接返回,避免执行后面的分页语句 ---- 参考: 《阿里巴巴Java开发手册》 《高性能可扩展MySQL数据库设计及架构优化》
备份功能 使用mysqldump进行数据库备份 跨主机备份 还原数据库 Windows定时执行脚本任务 使用mysqldump进行数据库备份 mysql数据库自带备份命令mysqldump,可对数据库进行备份操作...=utf8 :备份默认编码 events “demo” :进行备份的数据库名称 >D:\mysql_backup\backup_demo_%Ymd%.sql :备份文件存储的路径 set “Ymd..." 跨主机备份 (一)将需要的数据库备份至其他主机的指定数据库内 语法: mysqldump –host=源数据库ip -u源数据库账户 -p源数据库密码 –opt 要备份的数据库 | mysql...--host=11.11.11.11 -uroot -proot -C demo (二)远程备份数据库的sql文件 语法: "D:\mysql-8.0.20-winx64\bin\mysqldump...进行远程备份的前提是,远程数据库需要创建一个对本机IP能够访问的用户,创建远程访问用户操作,见blog:MySQL数据库用户创建、修改、授权及远程访问 还原数据库 两种还原方法: mysqldump
使用mysqldump进行数据库备份 mysql数据库自带备份命令mysqldump,可对数据库进行备份操作 最简单的备份是将数据库备份至本地,生成 **.sql文件 编写备份脚本文件 (创建一个txt...:备份默认编码 events “demo” :进行备份的数据库名称 >D:\mysql_backup\backup_demo_%Ymd%.sql :备份文件存储的路径 set “Ymd=%date:0,4%..." 跨主机备份 (一)将需要的数据库备份至其他主机的指定数据库内 语法: mysqldump --host=源数据库ip -u源数据库账户 -p源数据库密码 --opt 要备份的数据库 | mysql...--host=11.11.11.11 -uroot -proot -C demo (二)远程备份数据库的sql文件 语法: "D:\mysql-8.0.20-winx64\bin\mysqldump...进行远程备份的前提是,远程数据库需要创建一个对本机IP能够访问的用户,创建远程访问用户操作,见blog:MySQL数据库用户创建、修改、授权及远程访问 还原数据库 两种还原方法: mysqldump
环境搭建: 安装homebrew ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/...master/install)" 安装Mysql 先查找下mysql:brew search mysql 看一下mysql的版本信息: brew info mysql brew install mysql...设置密码: 安装时的消息有这么一句话We've installed your MySQL database without a root password....To secure it run:mysql_secure_installation,那就来设置下root的密码 第一步:打开mysql服务 mysql.server start 第二步:执行mysql_secure_installation...mysql_secure_installation # 执行后按照提示信息进行设置,慢慢看下英文,都能看懂的 启动mysql: brew services start mysql mysql.server
这是学习笔记的第 2393篇文章 昨天同事反馈了一个问题,原本的办公机环境中的虚拟机是可以对外暴露办公机的IP,提供相应的数据库运维API服务,比如办公机的IP是192.168.10.100,而虚拟机使用...一般开发环境测试完成之后,就推送到GitLab,经过验证就发布了,所以测试有测试的相关服务,线上有线上的相关服务,IP方式模式都是相对固定的。...我们想了一种思路,那就是申请一台新的Linux服务器,保持和线上一致的环境,然后开启桌面模式,那么办公机就可以通过vnc等方式连接到Linux服务器了,然后在Linux下开发测试,提交代码变更,听起来是一件很不错的主意...,而且统一的Linux环境还可以共享基础的配置,免去了很多人重复配置环境的苦恼,整体设计如下图所示: 但是这种模式有几个问题,其中一个是测试Linux服务器上面的代码是大家分别测试,但是提交是个问题...还有一种模式,是我们使用办公机来开发逻辑,假设我们通过一种机制把变更的代码先推送到开发服务器(Linux)上面,那么这个服务就是一个相对固定的访问模式了,在开发联调中的问题如果要修改,可以不断的调整,直到满足业务场景的测试
三、配置MySql 1、在http://dev.mysql.com/downloads/mysql/网站上,选择Mac OS X平台,然后选择图中的下载,我开始下载错了,安装出错,后来下载图中的版本安装成功...双击dmg文件 双击安装 2、修改密码 a)先停止MySQL服务 打开“系统偏好设置”,选择“MySQL”,在打开的对话框中点击“Stop MySQL Server” 在终端输入,这里修改密码为12345...bin/mysql /usr/local/mysql/bin/mysql 此时我们就可以直接登录到MySQL服务了。...终端输入命令即可修改密码 /usr/local/mysql/bin/mysqladmin -u root password 123456 四、使用phpMyAdmin phpMyAdmin是用PHP开发的管理...MySql的程序,非常实用 1、下载phpMyAdmin,在网址Downloads中选择合适的版本下载,我选择的是phpMyAdmin-4.6.5.2-All-Languages.tar.bz2 2、将下载好的文件解压后
安装完mysql以后,在桌面上可以找到mysql自带的mysql command line client(命令行客户端),点击它,之后输入自己的密码,就进去了!...马克-to-win:但如果有时进不去,可能你的mysql服务器没有启动。你可以到控制面板/管理工具/服务:找到mysql,右键点击它,选中启动。mysql就启动了!
项目结构: http://www.cnblogs.com/hongten/gallery/image/112450.html 数据库表: http://www.cnblogs.com/hongten/gallery..." /> 14 <property name="url" 15 value="jdbc:<em>mysql</em>://localhost:3307/spring?...针对数据源<em>的</em>事务管理器 29 ,把我们定义<em>的</em>数据源注入到DataSourceTransactionManager类<em>的</em>属性dataSource中 30 --> 31 <bean...<em>mysql</em>\://localhost\:3307/spring?...针对数据源<em>的</em>事务管理器 31 ,把我们定义<em>的</em>数据源注入到DataSourceTransactionManager类<em>的</em>属性dataSource中 32 --> 33 <bean
领取专属 10元无门槛券
手把手带您无忧上云