修改表名
alter table 旧表名 rename 新表名
批量更改表名
SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO ', REPLACE ( table_name, 'st_session_play', -- 要替换的字符串 'st_session_play_backup' -- 替换为新的字符串 ), ';' ) FROM information_schema. TABLES WHERE TABLE_SCHEMA = 'walle' -- 数据库名称 AND table_name LIKE 'st_session_play%';
数据库导出导入:
数据库导出 [root@dailyyoga ~]# mysqldump -uroot -pltOa5@,E^v%7-U3F2 financial >/alidata_h2o/finacial20190617.sql 数据库导入: [root@dailyyoga alidata_h2o]# mysql -ufinancial -p -hrm-bp1o78g1nf9kt6rhc.mysql.rds.aliyuncs.com mysql> set names utf8; mysql> source /alidata_h2o/finacial20190617.sql; mysqldump -uroot -p dailyyog_usercenter accountinfo_idfa > ./accountinfo_idfa.sql
查看数据库大小
#查看表占用大小 select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from information_schema.TABLES where TABLE_SCHEMA='库名' and table_name = '表名'; #查看数据库大小 select concat(round(sum(data_length/1024/1024),2),’MB’) as data from tables where table_schema=’DB_Name’ ;
查看表的最后更新时间
SELECT TABLE_SCHEMA, TABLE_NAME, UPDATE_TIME FROM information_schema.TABLES WHERE TABLE_SCHEMA ='dailyyog_usercenter'
数据查询表占用大小:
select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from information_schema.TABLES where TABLE_SCHEMA='库名' and table_name = '表名';
查看数据库使用大小
select concat(round(sum(data_length/1024/1024),2)) as data from tables where table_schema='sonar';
查询数据编码格式:
show variables like 'character_set_database';
查看数据表的编码格式
show create table <表名>;
修改数据库的编码格式
alter database <数据库名> character set utf8;
修改数据表格编码格式
alter table <表名> character set utf8;
mysqldump 所需要的权限说明:
1、对于table 来说mysqldump 最少要有select 权限。 2、对于view 来说mysqldump 要有show view 权限。 3、对于trrigger 来说mysqldump 要有trriger 权限。 mysql> create user dumper@'%'; Query OK, 0 rows affected (0.00 sec) mysql> grant select on *.* to dumper@'%'; Query OK, 0 rows affected (0.00 sec) mysql> grant show view on *.* to dumper@'%'; Query OK, 0 rows affected (0.00 sec) mysql> grant lock tables on *.* to dumper@'%'; Query OK, 0 rows affected (0.00 sec) mysql> grant trigger on *.* to dumper@'%'; Query OK, 0 rows affected (0.00 sec) 给用户设置密码: mysql> update user set password=password('test-db') where user='dumper';
设置慢sql产生的时间:
SHOW VARIABLES like "slow_launch_time%"; #查询当前慢sql设置的时间 set global slow_launch_time=1; #更改全局慢sql的时间为 1秒 slow_launch_time的设定跟慢查询日志的查询阀值设定不同,表示了thread create的一个阀值,如果thread create的时间超过了这个值,这变量slow_launch_time的值加1. mysql> set global long_query_time=1;#更改全局慢sql的时间为 1秒 show variables like "%slow%"; #查看MySQL慢查询日志路径 show global status like '%slow%'; #查看MySQL慢查询状态 flush privileges; #刷新系统权限相关表
查看MySQL的正常运行时间(uptime)
show global status like 'uptime';
查询错误日志的存储位置
show variables like '%error';
查看mysql请求连接进程被主动杀死
show global status like 'com_kill';
允许的最大包大小
show global variables like 'max_allowed_packet'; (1024*1024*5=5242880)