接触MySQL一段时间了,积累了一些开发运维常用的语句/命令,和大家分享下。
•远程登录MySQL
mysql -h 10.123.45.678 -P 3800 -u qconnadmin -p
大写P为端口,小写p为密码
注意,如果是CDB的实例,申请时可能有连接IP白名单的配置,记得在白名单的机器上登录。
•查询出的数据如何导出到文件中?
SELECT
*
FROM
b_qq_tablename INTO OUTFILE '/tmp/lys/142-size.txt';
也可以加上fields terminated by ‘|’ enclosed by ‘”’ lines terminated by ‘\r\n’;作为分割符
这种只能导出到DB的机器上,对于CDB这种根本没有物理机权限的情况就瞎了。
大丈夫,可以用mysql命令远程登录,支持导出数据到client机器的目录,命令如下(执行后就自动quit了,不要惊慌)
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’
•查询连接池
select * from information_schema.processlist where user = ‘username’ and db=’dbname’ and host like ‘%6.7%’;
多提一下,information_schema是MySQL自带的,可以访问数据库的元数据。比如数据库名/表名、权限、表大小等。
比如查某个表的列,就可以用
show columns from schemaname.tablename
当然直接用desc tablename也行。
•数据库导入导出
数据库导入导出实例,这篇博客说的挺清楚了
导出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