Mysql学习总结(42)——MySql常用脚本大全

备份 (所有)

C:Program FilesMySQLMySQL Server 5.6in>mysqldump --no-defaults -hlocalhost -P3306 -uroot -p -R test > h: est.sql

备份 (结构)

C:Program FilesMySQLMySQL Server 5.6in>mysqldump --no-data -hlocalhost -P3306 -uroot -p -d -R -v test > e: est.sql

还原

C:Program FilesMySQLMySQL Server 5.6in>mysql.exe -P3306 --default-character-set=utf8 -hlocalhost -uroot -p

show databases;

use test;

source d:/test.sql;

查看版本 mysql> status;

--查看是否锁表

select * from information_schema.INNODB_TRX

select * from information_schema.INNODB_LOCKS

show PROCESSLIST

-- 登录后

-- 加权限

mysql> grant all on *.* to 'root'@'%' identified by '123456' with grant option;

-- 刷新权限

mysql> flush privileges;

直接将查询结果导入临时表

CREATE TEMPORARY TABLE tmp_table SELECT * FROM table_name

另外mysql也允许你在内存中直接创建临时表,因为是在内存中所有速度会很快,语法如下:

CREATE TEMPORARY TABLE tmp_table (

name VARCHAR(10) NOT NULL,

value INTEGER NOT NULL

) TYPE = HEAP

查询数据库中表信息

select t1.TABLE_NAME,t1.TABLE_COMMENT from information_schema.`TABLES` t1

where t1.TABLE_SCHEMA='base1.0' and t1.TABLE_TYPE='BASE TABLE'

-- 分析表

ANALYZE TABLE test;

--

1. 利用OPTIMIZE语句对表进行优化

# mysql>OPTIMIZE TABLE 表名

这样就对表名进行了优化。

2. 利用mysqlcheck对表进行优化

mysqlcheck可进行优化外,还可执行大量的检查和修复任务。

# mysqlcheck -o 数据库名 表名 -uroot -p111111 (一张表)

# mysqlcheck -o 数据库名 表名1 表名2 -uroot -p111111 (多张表)

# mysqlcheck -o 数据库名 -uroot -p111111 (对整个数据库)

3. 利用myisamchk对表进行优化

# myisamchk --quick --check-only-changed --sort-index --analyze 表名

# myisamchk -r 表名 (参数-r表示对表进行修复,同时也删去了浪费的空间)

# myisamchk -r /usr/local/mysql/data/testblog/article (指定表所在的路径)

原文地址:https://www.cnblogs.com/zhanghaiyang/p/7212737.html