mysql 数据同步
数据同步问题终于解决:
转帖:A服务器: host 192.168.1.101 port 3306 B服务器: host 192.168.1.102 port 3306 1,授权用户: A服务器 mysql>grant replication slave,file on *.* to 'repl9'@'192.168.1.102' identified by '1234569'; Query OK, 0 rows affected (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) B服务器 mysql>grant replication slave,file on *.* to 'repl8'@'192.168.1.101' identified by '1234568'; Query OK, 0 rows affected (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec) 2,配置文件 A服务器 log-bin=mysql-bin server-id = 1 binlog-do-db=test binlog-ignore-db=mysql replicate-do-db=test replicate-ignore-db=mysql log-slave-updates slave-skip-errors=all sync_binlog=1 auto_increment_increment=2 auto_increment_offset=1 master-host = 192.168.1.102 master-user = repl8 master-password = 1234568 master-port = 3306 B服务器 log-bin=mysql-bin server-id = 2 binlog-do-db=test binlog-ignore-db=mysql replicate-do-db=test replicate-ignore-db=mysql log-slave-updates slave-skip-errors=all sync_binlog=1 auto_increment_increment=2 auto_increment_offset = 2 master-host = 192.168.1.101 master-user = repl9 master-password = 1234569 master-port = 3306 启动服务器就ok了 -------------------------------------------------- Q: 当在另一台机器上登录MySQL时出现如下错误: ERROR 2003 (HY000): Can't connect to MySQL server on 'x.x.x.x' (111) A: 原因是MySQL考虑到安全因素,默认配置只让从本地登录 打开 /etc/mysql/my.cnf 文件,找到 bind-address = 127.0.0.1 修改为 bind-address = 0.0.0.0 重启mysql : sudo /etc/init.d/mysql restart ======================================== 101 增加,102不同步 ????????? mysql -h192.168.1.102 -urepl8 -p1234568 ok 102 增加,101 同步 mysql -h192.168.1.101 -urepl9 -p1234569 ok 比较两组的show slave status\G; 102 Slave_IO_Running: No Slave_SQL_Running: Yes Replicate_Do_DB: test Replicate_Ignore_DB: mysql sudo /etc/init.d/mysql restart sudo service mysql restart 以后就变成:lave_IO_Running: YES 出现的问题(多主自增长
相关文档:
以下这篇文章论述上在什么情况下子查询比一般的内连接查询更加快速
http://www.mysqlperformanceblog.com/2010/03/18/when-the-subselect-runs-faster/
以下是我对mysql的order by和limit优化的建议,要适表的数据量和用来过滤列的唯一值的个数而定
(1)where子句中用来过滤结果的列所在索引的cadinality很小,即用相关 ......
一下是一个SQL的小问题,困扰了3分钟,写下来记录一下。
数据库是MYSQL 5, 表的结构很简单, 就一个字段是abc,整型。
一下语句运行的结果是一样的。自己不留神,导致困扰了3分钟。
select * from table1 from abc = '123'
select * from table1 from abc = '123_1'
以上语句原来是查找是否数据存在,结果123_1和1 ......
昨天为一个项目做数据库,项目涉及到订单,在设计数据库字典的时候 就把这个表名定为了order,建表的时候怎么建都不对,提示是表名附近出现问题,当时觉得不可能啊 也许是字段类型哪儿出了问题,查了好久,试了好几次,还是不行,后来突然恍然大悟,order by是排序语句,order肯定是保留字,怎么可能做表名呢。。。立即把表 ......
delimiter // 改变界定符 为//
列出所有数据库 show databases;
列出所有数据表 show tables;
改变连接数据库 use databaes
插入记录 insert into users(UserName,Password) values('ivwshjj','123456');
删除记录 delete from users  ......
通常我习惯将mysql数据库设置默认编码为utf-8,这就有一个问题,在windows客户端中中文显示乱码,因为windows默认编码为gb2312或ansi。多方查找终于解决,在windows客户端登入mysql
输入
set NAMES GB2312;
小命令,大作用啊。 ......