1、mysql> SHOW GLOBAL STATUS LIKE'Open_files'; #当前打开文件数
2、mysql> SHOW VARIABLES LIKE'open_files_limit'; #最大打开文件数
3、解决办法:
5.6 GTID版本不支持这种语法 create table B select * from A;
您可以这样分开操作下,改造下语句:
create table B like A;
insert into B select * from A;
4、mysql>show binary logs; 查看多少binlog日志,占用多少空间。
mysql> PURGE MASTER LOGS TO 'mysql-bin.002467'; 删除mysql-bin.002467以前所有binlog,这样删除可以保证*.index信息与binlog文件同步。
mysql>PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 5 DAY); 手动删除5天前的binlog日志
mysql> set global expire_logs_days = 5; 把binlog的过期时间设置为5天; mysql> flush logs; 刷一下log使上面的设置生效,否则不生效。
为保证在MYSQL重启后仍然有效,在my.cnf中也加入此参数设置
expire_logs_days = 5
MariaDB [(none)]> show variables like "%bin%"; #查看bin-log是否开启
5、mysql -uroot -pthankyou -e"create database if not exists cs" #库不存在,创建库
6、mysql -uroot -pthankyou -e"drop database if not exists cs" #库存在,删除库
7、复制旧表的数据到新表(假设两个表结构不一样)
INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表
8、复制旧表的数据到新表(假设两个表结构一样)
INSERT INTO 新表 SELECT * FROM 旧表
9、可以将表1结构复制到表2
SELECT * INTO 表2 FROM 表1 WHERE 1=2
10、可以将表1内容全部复制到表2
SELECT * INTO 表2 FROM 表
11、mysql>select @@sql_mode; #查看数据库是否是严格模式
mysql> set sql_mode="";
mysql> set global sql_mode="";
12、在脚本中判断表存在删除
$MySQL_CLI -h${mysql_host} -u $mysql_user -p$mysql_pass -D$mysql_db -e"drop table if exists ${table}_${project}_${dt}"
13、登录mysql数据库删除表
mysql>drop table if exists `表名`;
14、表不存在创建表
create table if not exists order_goods (like ebsig_crm.order_goods); #跨库复制表结构
15、查看表中字段的字符集
eg:show full columns from 表名;
查看表的字符集
show table status from 库名 liek "表名";
查看库的字符集
show variables like "%char%";
set names utf8; #设置字符集,包括(client,connection,results)