现将结论写在前头,我自己也总是忘记,常常搞不清。如果是DSA我应该每时每刻都清楚吧。
^_^

 一:MYSQL主从配置

The following table describes the maximum length for each type of
identifier.

Identifier Maximum Length (characters)
Database 64 (NDB storage engine: 63)
Table 64 (NDB storage engine: 63)
Column 64
Index 64
Constraint 64
Stored Program 64
View 64
Tablespace 64
Server 64
Log File Group 64
Alias 256 (see exception following table)
Compound Statement Label 16
User-Defined Variable 64 as of MySQL 5.7.5, no limit before that

 

Aliases for column names
in CREATE VIEW statements
are checked against the maximum column length of 64 characters (not the
maximum alias length of 256 characters).

Identifiers are stored using Unicode (UTF-8). This applies to
identifiers in table definitions that are stored in .frm files and to
identifiers stored in the grant tables in the mysql database. The
sizes of the identifier string columns in the grant tables are measured
in characters. You can use multibyte characters without reducing the
number of characters permitted for values stored in these columns. As
indicated earlier, the permissible Unicode characters are those in the
Basic Multilingual Plane (BMP). Supplementary characters are not
permitted.

MySQL Cluster imposes a maximum length of 63 characters for names of
databases and tables. See Section 19.1.6.5, “Limits Associated with
Database Objects in MySQL
Cluster”.

 

/*

JOIN: 如果表中有至少一个匹配,则返回行
注释:INNER JOIN 与 JOIN 是相同的。
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行[左边的表先列出来,右边的表有匹配项匹配,没有匹配项返回空]
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行

*/

   1.1
部署环境

 

         
    主(master_mysql): 192.168.1.200     OS:CentOS 6.5  

今天在看一个遗留系统的数据表的时候发现平时查找的视图是FULL OUT
JOIN的,导致平时的数据记录要进行一些限制性处理,其实也可以设置视图各表为右外连接并在视图上设置各列的排序和筛选条件就可以达到效果。

      
从(slave_mysql):   192.168.1.201      OS:CentOS 6.5

 

     
 1.2 安装mysql

联接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定联接条件。WHERE和HAVING子句也可以包含搜索条件,以进一步筛选联接条件所选的行。  
 
联接可分为以下几类:    

         
   主和从:   yum install mysql-server

1、内联接(典型的联接运算,使用像 =  或 <>
之类的比较运算符)。包括相等联接和自然联接。     
内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索
students和courses表中学生标识号相同的所有行。   
    
2、外联接。外联接可以是左向外联接、右向外联接或完整外部联接。     
在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:     

  
 1.3 配置

1)LEFT  JOIN或LEFT OUTER JOIN     
左向外联接的结果集包括  LEFT
OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
      

       
  1.3.1
主配置(master_mysql配置)

2)RIGHT  JOIN 或 RIGHT  OUTER  JOIN     
右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。     
 
3)FULL  JOIN 或 FULL OUTER JOIN
完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。   
    
3、交叉联接   
交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。  
 

vim /etc/my.cnf

server-id=200  #设置主服务器的ID
innodb_flush_log_at_trx_commit=2  #
sync_binlog=1  #开启binlog日志同步功能
log-bin=mysql-bin-200  #binlog日志文件名
binlog-do-db=xxxx  # 这个表示只同步某个库 (如果没有此项,表示同步所有的库)

FROM
子句中的表或视图可通过内联接或完整外部联接按任意顺序指定;但是,用左或右向外联接指定表或视图时,表或视图的顺序很重要。有关使用左或右向外联接排列表的更多信息,请参见使用外联接。     
    
例子:   

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注