您的位置:首页 > 数据库 > SQL

mysql数据库管理备份运维常用命令

2013-12-26 15:05 465 查看
登陆mysql:

mysql -u root -p password


远程访问开启((%)表示任何主机连接,可以换固定IP来访问远程连接):

GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; #远程访问主要修改root@'localhost'修改为%任何地址


在ssh客户端命令访问另一台mysql:

mysql -h *.*.*.* -u root –p 'password'


创建test数据库:

create database test default character set utf8 collate utf8_general_ci;


数据库授权:

grant all on test.* to test@'%' identified by "password";


刷新:

flush privileges;


锁表:

flush tables with read lock;


解表:

unlock tables;


导入数据:

use test;
source test.sql;


导出完整的数据库备份文件:

mysqldump -h 127.0.0.1 -P 3306 -u root -p 'password' --add-locks -q test --default-character-set=utf8  > test.sql


导出表结构(说明:-d:只导出表结构,不含数据):

mysqldump -h 127.0.0.1 -P 3306 -uroot -p 'password' --add-locks -q -d test --default-character-set=utf8  > test.sql


导出完整的数据库的数据不含表结构:

mysqldump -h 127.0.0.1 -P 3306 -u root -p 'password' --add-locks -q -t test --default-character-set=utf8  > test.sql


导出指定表结构和数据及压缩gzip

mysqldump -h 127.0.0.1 -P 3306 -u root -p --add-locks -q --database test_db --tables test_tables --default-character-set=utf8 | gzip > test.gz


mysql查看系统变量及其值

SHOW VARIABLES;


mysql锁表查看

show open tables where In_use > 0;


(where过滤, 只输出表上线程数大于0的表)
Database和Table就不做说明了;
In_use显示出有多少线程正在使用此表,有可能已经给这个表上锁,或者等待获得锁,然后给这个表上锁;
Name_locked显示表名称是否被锁定,0往往是没有锁定,1为写锁, 写锁基本发生在rename table时。

mysql 锁定ip 刷新主机

mysqladmin -uroot -p  flush-hosts


删除用户

DROP USER 'username'@'host';


命令继续添加待续.......................
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: