那些年的记忆

习惯改变行为,行为决定命运。

使用变量做表名创建存储过程

使用变量做表名创建存储过程

设置分隔符

DELIMITER $$

创建存储过程

CREATE DEFINER=`root`@`%` PROCEDURE `create_table`(IN `$cell_ident` int)
BEGIN
SET @cell_sqlcmd=CONCAT('CREATE TABLE IF NOT EXISTS CellBase.tab_',$cell_ident,' LIKE CellBase.meta;');
SET @serial_sqlcmd=CONCAT('CREATE TABLE IF NOT EXISTS SerialBase.tab_',$cell_ident,' LIKE SerialBase.meta;');
SET @album_sqlcmd=CONCAT('CREATE TABLE IF NOT EXISTS AlbumBase.tab_',$cell_ident,' LIKE AlbumBase.meta;');
PREPARE create_cell FROM @cell_sqlcmd;
PREPARE create_serial FROM @serial_sqlcmd;
PREPARE create_album FROM @album_sqlcmd;
EXECUTE create_cell;
EXECUTE create_serial;
EXECUTE create_album;
DEALLOCATE PREPARE create_cell;
DEALLOCATE PREPARE create_serial;
DEALLOCATE PREPARE create_album;
END$$


MySQL 用户及权限

1. 与用户相关的授权表:

user

    每一行主是一个用户账号(用户名、主机名和加密后的密码)以及用户的全部权限

db

    每一行包含了某个用户在数据库级权限

host

    每一行包含了用户从指定主机登录过来时它在一个数据库里的所有权限

tables_priv

    每一行包含了指定用户和表的表级别上的权限,也包括了视图的权限在内

columns_priv

    每一行包含了指定用户和列的列级别上的权限

procs_priv(5.0以上版本引入)

    每一行包含了指定用户和存储程序(存储过程和函数)的权限

MySQL5.5 REPLICATION主从同步(Debian 7)

1. 主服务器配置

master

vi /etc/mysql/my.cnf            //修改my.cnf配置文件

server-id               = 1
log_bin                 = /var/log/mysql/mysql-bin.log//BinLog路径
expire_logs_days        = 10
max_binlog_size         = 100M
binlog_do_db            = StyleBase                //记入log的库(需要同步的库)
binlog_do_db            = UserBase
binlog_ignore_db        = mysql                    //不记入log的库