邵珠庆の博客 生命只有一次,你可以用它来做些更多伟大的事情–Make the world a little better and easier

309月/180

【开发规范】规范文档:MySQL规范2

发布在 邵珠庆

1. 规范背景与目的

MySQL数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优势与劣势。我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短。本规范旨在帮助或指导RD、QA、OP等技术人员做出适合线上业务的数据库设计。在数据库变更和处理流程、数据库表设计、SQL编写等方面予以规范,从而为公司业务系统稳定、健康地运行提供保障。

2. 设计规范

2.1 数据库设计

以下所有规范会按照【高危】、【强制】、【建议】三个级别进行标注,遵守优先级从高到低。[......]阅读全文

299月/180

MySQL存储过程

发布在 邵珠庆

存储过程简介

SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。

存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟,它允许控制数据的访问方式。

存储过程的优点

[......]阅读全文

12月/180

【开发规范】规范文档:MySQL规范

发布在 邵珠庆

基本规范

(1) 使用INNODB存储引擎
(2) 表字符集使用UTF8
(3) 所有表和字段都需要添加注释
(4) 不在数据库中存储图⽚、文件等大数据
(5) 禁⽌从测试、开发环境直连线上数据库

命名规范

(1) 表名:必须使用小写字母,多词之间以”_“(下划线)分隔,表名非复数名词,

[......]阅读全文

276月/170

详细解读MySQL中的权限

发布在 邵珠庆

一、前言

   很多文章中会说,数据库的权限按最小权限为原则,这句话本身没有错,但是却是一句空话。因为最小权限,这个东西太抽象,很多时候你并弄不清楚具体他需要哪些权限。 现在很多mysql用着root账户在操作,并不是大家不知道用root权限太大不安全,而是很多人并不知道该给予什么样的权限既安全又能保证正常运行。所以,本文更多的是考虑这种情况下,我们该如何简单的配置一个安全的mysql。注:本文测试环境为mysql-5.6.4
二、Mysql权限介绍

   mysql中存在4个控制权限的表

[......]阅读全文

266月/170

Mysql之binlog日志说明及利用binlog日志恢复数据操作记录

发布在 邵珠庆

众所周知,binlog日志对于mysql数据库来说是十分重要的。在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷!

废话不多说,下面是梳理的binlog日志操作解说:

一、初步了解binlog
MySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句select),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全[......]阅读全文

166月/170

MySQL 用户权限详细汇总

发布在 邵珠庆

1,MySQL权限体系

MySQL 的权限体系大致分为5个层级:
全局层级:
全局权限适用于一个给定服务器中的所有数据库。这些权限存储在mysql.user表中。GRANT ALL ON .和REVOKE ALL ON .只授予和撤销全局权限。
数据库层级:
数据库权限适用于一个给定数据库中的所有目标。这些权限存储在mysql.db表中。GRANT ALL ON db_name.和REVOKE ALL ON db_name.只授予和撤销数据库权限。
表层级:
表权限适用于一个给定表[......]阅读全文

66月/170

MySQL用户权限管理

发布在 邵珠庆

用户权限管理主要有以下作用:
1. 可以限制用户访问哪些库、哪些表
2. 可以限制用户对哪些表执行SELECT、CREATE、DELETE、DELETE、ALTER等操作
3. 可以限制用户登录的IP或域名
4. 可以限制用户自己的权限是否可以授权给别的用户

一、用户授权

mysql> grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option;

    [......]阅读全文

    1710月/160

    MySQL中的mysqldump命令使用详解

    发布在 邵珠庆

    就用 --ignore-table=dbname.tablename参数就行了。

    mysqldump -uusername -ppassword -h192.168.0.1 -P3306 dbname --ignore-table=dbname.dbtanles > dump.sql

    导出要用到MySQLmysqldump工具基本用法是:
    shell> mysqldump [OPTIONS] database [tables]
    如果你不给定任何表,整个数据库将被导[......]阅读全文

    1010月/160

    一篇文章学会Mysql分区表的管理与维护

    发布在 邵珠庆

    定义: 

           表的分区指根据可以设置为任意大小的规则,跨文件系统分配单个表的多个部分。实际上,表的不同部分在不同的位置被存储为单独的表。用户所选择的、实现数据分割的规则被称为分区函数,这在MySQL中它可以是模数,或者是简单的匹配一个连续的数值区间或数值列表,或者是一个内部HASH函数,或一个线性HASH函数。

    使用场景:

         1.某张表的数据量非常大,通过索[......]阅读全文

    274月/160

    重启mysql提示MySQL server PID file could not be found!

    发布在 邵珠庆

    重启mysql提示MySQL server PID file could not be found!

    Starting MySQL...The server quit without updating PID file (/usr/local/mysql/data/rekfan.pid).

    我只能呵呵了吗?不是。

    我是这样做的,先看下是不是有这个进程,然后结束,再重启,代码:

    1. ps -ef|grep mysqld 
    1. kill&n

    [......]阅读全文

       下一页