mysql常见命令

        登录MySQL

mysql -h 10.123.45.678 -P 3800 -u qconnadmin -p

大写P为端口,小写p为密码

 

        查询出的数据如何导出到文件中?

SELECT   *  FROM  tablename INTO OUTFILE '/tmp/ze.txt';

 或者在服务器执行bash命令

mysql -e "SELECT ..." > file_name

比如:

mysql -h 10.123.456.789 -P 3000 -u username -p schemename -e "select* from schemename.b_qq_tablename where id >100">'/data/tmp/data.txt'

 

 

        数据库导入导出

 

导出SQL

mysqldump -h 10.133.2.209 -P 3306 -u qconnadmin -p metadata_form>ak.sql

如果需要exclude个别表,可以用--ignore-table属性,比如

mysqldump -h 10.133.2.209 -P 3306 -u qconnadmin -p metadata_form--ignore-table=metadata_form.b_group_verify_log --ignore-table=metadata_form.b_group_refuse>ak.sql

 

导入SQL

mysql -h 10.198.30.120 -P 3877 -u qconnadmin -p metadata_form <ak.sql

 

        如何查询表占用空间大小?

如果想知道MySQL数据库中每个表占用的空间、表记录的行数的话,

use information_schema

在该库中有一个TABLES 表,这个表主要字段分别是:

        TABLE_SCHEMA: 数据库名

        TABLE_NAME:表名

        ENGINE:所使用的存储引擎

        TABLES_ROWS:记录数

        DATA_LENGTH:数据大小

        INDEX_LENGTH:索引大小

        查询所有数据的大小

select concat(round(sum(DATA_LENGTH/1024/1024), 2), 'MB') as size frominformation_schema.tables;

 

        查看指定数据库实例的大小,比如说数据库 metadata_form

select concat(round(sum(DATA_LENGTH/1024/1024), 2), 'MB') as size frominformation_schema.tableswhere table_schema='metadata_form';

 

        查看指定数据库各个表的大小

select table_name, (data_length + index_length) as size, table_rows fromtables where table_schema = 'metadata_form' order by size desc;

select table_name, (data_length + index_length)/1024/1024 as size,table_rows from tables where table_schema = 'metadata_form' order by size desc;

 

        查看指定数据库的表的大小,比如说数据库 forexpert 中的 member 

select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as size frominformation_schema.tableswhere table_schema='metadata_form' andtable_name='b_qqconnect_mobile_face_version';

 

        查询数据库当前设置的最大连接数

show variables like '%max_connections%';

 

        查看mysql数据库连接数

show status like 'Threads%';

+-------------------+-------+

|Variable_name     | Value |

+-------------------+-------+

|Threads_cached    | 58    |

|Threads_connected | 57    |   ###这个数值指的是打开的连接数

|Threads_created   | 3676  |

|Threads_running   | 4     |   ###这个数值指的是激活的连接数,这个数值一般远低于connected数值

+-------------------+-------+

Threads_connected跟show processlist结果相同,表示当前连接数。准确的来说,Threads_running是代表当前并发数

 

        该选择MySQL哪种存储引擎,Innodb具有什么特性?

       以前开发用的是Oracle,都是一种引擎,但是MySQL有多种,简直逼死选择困难症

    (以下是KM上同事总结的,讲的简单易懂,这里无耻的引用下)

        存储引擎简介

插件式存储引擎是Mysql的重要特性,Mysql支持多种存储引擎以满足用户的多种应用场景

存储引擎解决的问题:如何组织mysql数据在介质中高效地读取,需考虑存储机制、索引设计、并发读写的锁机制等

Mysql5.0支持的存储引擎有MyISAM、InnoDB、Memory、Merge等。

        MyISAMInnoDB的区别

        InnoDB

Mysql5.5之后及CDB的默认引擎。

1.  支持行锁:并发性能好

2.  支持事务:故InnoDB称为事务性存储引擎,支持ACID,提供了具有提交、回滚和崩溃恢复能力的事务安全

3.  支持外键:当前唯一支持外键的引擎

        MyISAM

Mysql5.5之前默认引擎。

1.  支持表锁:插入+查询速度快,更新+删除速度慢

2.  不支持事务

        使用show engines可查看当前Mysql支持的存储引擎详情

 

mysql 忘记root密码解决方法

步骤一

修改my.cnf ,在mysqld下面添加参数skip-grant-tables。

步骤二

重启mysql服务,直接用mysql登录,不需要加-p参数。

进入mysql之后,使用命令修改root密码。

use mysql; updateusersetpassword=password(yourpassword) whereuser='root';

步骤三

将配置文件中的skip-grant-tables注释掉,然后使用设置的新密码登录。

****如果不想修改配置文件,也可以在启动mysql的时候增加 --skip-grant-tables参数。

操作方法是先停掉mysql, 然后使用

mysqld_safe  --skip-grant-tables &

启动mysql。

登录之后使用上述的步骤二修改密码,然后再重启mysql。


 


你可能感兴趣的:(mysql, ,mysql忘记密码,mysql常见命令)