• Welcome to LiuJason's Blog!

标签:MySQL

MySQL的设计规范与性能优化经验

前言最近在设计一套实验室数据管理系统,背后用MySQL来支撑,所以这里引用一些命名上的规范,做笔记!sql表及字段命名规范表名用单数,用户表:用user不是users小写。标识符应该全部用小写字母来书写,使用first_name,不是"First_Name"或者“FirstName”。数据类型不是名称。避免使用仅为数据类型的名字(如text或ti……

使用PDMan来设计数据库系列1-PDMan软件的简介与安装

前言最近除了做好手上的工作外,也需要开始设计一套数据库用来存储实验室的全套数据,可能会涉及多个表的交叉引用,为了更加高效和准确的进行设计,需要用到数据库模型建模工具。这里选择的是开源的PDMan。简介PDMan是一款开源免费的数据库模型建模工具,支持Windows,Mac,Linux等操作系统,是PowerDesigner之外,更好的免费的替代方案。他……

Linux下使用cron实现mysql数据库自动备份|安全的非交互式登录|免密码

起因我们数据库与网站做了站库分离,因此习惯用的宝塔自动备份就不能用了。传统的mysqldump备份需要使用通过交互式的输入密码进行,而非交互式的方式直接在命令中加上密码非常的不安全!因为只要有人ps aux就能看到你的密码!切记不能在生产环境下这样做!安全的非交互式备份其实MySQL官方是有给出方法的,参考这里:https://dev.mysql.c……

Linux下shell定时监控服务可用性 自动切换数据库 高可用

高可用数据库构架下,使用双主库设计,存在两个内网ip,一般应用下会直接改调用数据库的程序代码实现数据库选择。但是我们使用的是商业授权的软件,本身是加密的,因此只能通过自建心跳检测实现自动切换。这里写了个简单的ping脚本,3秒执行一次:#!bin/bashwhile true do ping 172.31.1.1 -c……

[已解决]pymysql多线程读写数据库报错:Packet sequence number wrong

由于换了24核的服务器,因此在录入爬取的气象数据的时候想使用多线程,于是自学多线程Python的写法,中间就遇到了这个错误:Packet sequence number wrong这是因为多线程共享了同一个数据库连接,但每个execute前没有加上互斥锁,解决方法如下:方法一:每个execute前加上互斥锁 lock.acquire() ……

Mysql批量修改数据库表名前缀和批量删除数据表

mysql批量修改表名前缀1、把全部表名前缀wp_改成wordpress_SELECT GROUP_CONCAT (CONCAT( ‘ALTER TABLE ‘ , TABLE_NAME, ‘ RENAME TO ‘,REPLACE( TABLE_NAME,‘wp_’ ,‘wordpress_’)) SEPARATOR ‘;’)FROM inf……

MySQL错误处理: Errcode: 24 "Too many open files" when using LOCK TABLES|大数据库备份与导出导入

最近在构建气象数据库,数据量2000亿行,内含从1901年到现在的全球近3万站点的逐小时气象数据,有兴趣的可以去看看: https://clidb.org数据结构的设计和查询优化真的是费了我不少心思,过几天有空可以来写写心得,不过本篇的重点还是在大数据导出导入过程中遇到的坑。由于为了加速查询,我分了4个数据库、每个库3万个表,每个表12个分区,于是就出现……