1.MySql varcher 最大值 1 2 3 4 / / 使用MAX ()查询一个字符串类型的字段时,那么比较的实际是字符的ASCII码,比较的时候是一个字母一个字母依次往后比较 SELECT MAX (CAST (no AS SIGNED)) FROM sys_user / / no 代表的是具体的字段 as signed 是固定的写法SELECT MAX (no + 0 ) FROM sys_user / / 加1 的话查询下的最大值加1
2.【MySQL】查询保持IN中的顺序 1 2 select * from table_name where id in () 的时候,MySQL会自动按主键自增排序 SELECT * from `models` where `id` in (1 ,2 ,3 ) order by field (id,1 ,2 ,3 ) ;
3.【MySQL 5.7】主从复制(win) 一: 修改主库的my.ini
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [client] port= 3306 default - character - set = utf8[mysqld] # 设置mysql的安装目录 basedir= C:\mysql\mysql-5.7 .36 - winx64-1 # 设置mysql的数据目录 datadir= C:\mysql\mysql-5.7 .36 - winx64-1 / data character_set_server= utf8 sql_mode= NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER # 创建新表时将使用的默认存储引擎 default - storage- engine= INNODB# 开启查询缓存 explicit_defaults_for_timestamp= true skip - grant - tables#开启日志 log- bin = mysql- bin #设置服务id,主从不能一致 server- id = 1 #设置需要同步的数据库 binlog- do- db= ds #不设置会同步所有库 #屏蔽系统库同步 binlog- ignore- db= mysql binlog- ignore- db= information_schema binlog- ignore- db= performance_schema
二:复制主库作为从库 ,修改主从库的配置文件(my.ini)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [client] port= 3307 default - character - set = utf8[mysqld] port= 3307 # 设置mysql的安装目录 basedir= C:\mysql\mysql-5.7 .36 - winx64-2 # 设置mysql的数据目录 datadir= C:\mysql\mysql-5.7 .36 - winx64-2 / data character_set_server= utf8 sql_mode= NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER # 创建新表时将使用的默认存储引擎 default - storage- engine= INNODB# 开启查询缓存 explicit_defaults_for_timestamp= true skip - grant - tables#开启日志 log- bin = mysql- bin #设置服务id,主从不能一致 server- id = 2 #设置需要同步的数据库 replicate_wild_do_table= ds.% #不设置会同步所有库 #屏蔽系统库同步 replicate_wild_ignore_table= mysql.% replicate_wild_ignore_table= information_schema.% replicate_wild_ignore_table= performance_schema.%
将从库安装为windows服务
bin目录下执行
1 2 mysqld mysqld install mysql- s2
重启 主从数据库
注意: 主从mysql 下数据data目录下auto.cnf,文件中定义了uuid,要保证主从数据库实例的uuid不一样,建议直接删除,重启会重新生成
三:授权主从复制专用账户
1 2 3 4 5 6 7 8 #切换主库 #授权主备复制专用账户 GRANT REPLICATION SLAVE ON * .* TO 'bohu' @'%' IDENTIFIED BY 'bohu0812' ;#刷新权限 FLUSH PRIVILEGES; #确认位点,记录下文件名级位点 show master status;
四:设置从库向主库同步数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #登录从库 #先停止同步 STOP SLAVE; #修改从库指向主库,使用记录的文件名及点位。 CHANGE MASTER TO master_host = 'localhost' , master_user = 'bohu' , master_password = 'bohu0812' , master_log_file = 'binlog.000006' , master_port = 3308 , master_log_pos = 331 ; #启动同步 START SLAVE;#查看从库状态。Slave_Io_Runing和Slave_SQL_Runing 都为yes,否则检查error_log show slave status#注意 如果此从库已有主库指向 需要先清空 STOP SLAVE IO_THREAD FOR CHANNEL '' ; reset slave all ;