---------------------------------------------------------登陆--------------------------------------------------------------------
1.mysql -h192.168.0.181 -utest -ptest;
登陆mysql命令行
-------------------------------------------------------数据库操作---------------------------------------------------------------
1.show databases;
查看所有数据库
2.use mydb;
使用mydb数据库
3.drop database if exists `mydb`;
如果数据库mydb存在就drop掉
4.create database `mydb`;
创建mydb数据库
----------------------------------------------------用户权限管理---------------------------------------------------------------
1.grant all privileges on mydb.* to YOURUSER@'%.%' IDENTIFIED BY "YOURPASSWORD";
授权YOURUSER用户可以从任意主机使用YOURPASSWORD对mydb数据库做任何操作
2.revoke all privileges on mydb.* from YOURUSER@'%';
撤销YOURUSER从任意主机操作mydb的权限
3.flush privileges;
使grant和revoke授权生效!执行grant或revoke之后再执行!
---------------------------------------------------------数据表操作-------------------------------------------------------------
1.show tables from mydb;
查看mydb库中所有数据表
2.desc mydb.mytable;
查看mydb库中mytable表的所有列名称,类型,是否为空,默认值,索引等
3.show create table mydb.mytable;
查看mydb库中mytable表的建表SQL语句
4.select * from mydb.mytable\G;
查看mydb库中mytable表的所有内容,以每行数据,列名-值的键值对方式查看。
5.alter table mydb.mytable rename mydb.mytablenew;
表mytable改名为mytablenew
6.alter table mydb.mytable add column newColumn varchar(64) DEFAULT NULL COMMENT '新列备注';
mydb库中mytable表新增一列,名称为newColumn,类型为varchar(64),默认为null,备注是“新列备注”
7.alter table mydb.mytable modify column `modifyColumn ` varchar(16) DEFAULT NULL COMMENT '修改列备注';
修改mydb库中mytable表中列modifyColumn,类型为varchar(16),默认为null,备注是“修改列备注”
8.truncate table mydb.mytable
清空mydb库mytable表的数据,比delete快很多
----------------------------------------------------------数据备份恢复---------------------------------------------------------
1.mysqldump --opt --user=YOURS --password=YOURS -B "mydb1 mydb2" --max_allowed_packet=1048576 --net_buffer_length= 16384 > /data/backup/20120630.sql
将数据库mydb1和mydb2以sql语句形式导出到 /data/backup/20120630.sql文件中
2.source /data/backup/mydb.sql
执行文件中的sql语句
-----------------------------------------------------MySQL状态---------------------------------------------------------------
1.show processlist;
查看当前MySQL连接
2.kill ID;
断掉某个客户端连接,ID是show processlist命令输出第一列的值
3.show variables;
查看MySQL各种变量值
4.show global status;
查看MySQL的各种状态,cacti监控MySQL的原理就是定时收集这些状态值绘图
http://lxneng.iteye.com/blog/451985 这篇文章对variables和 status的使用 写的很好!
5.select version(),current_date();
查看当前数据版本和日期
6.show engine innodb status;
查看innodb引擎状态
7.show table status from test like 'mydb.mytable'
查看innodb表状态