首页 > 代码库 > mysql常用的一些命令

mysql常用的一些命令

一 授权登录

参考

http://blog.csdn.net/andy_yf/article/details/7487519

http://www.2cto.com/database/201303/195876.html 

GRANT ALL PRIVILEGES ON cacti.* TO ‘hnf@‘localhost‘ IDENTIFIED BY  ‘hnf@2014‘;  ##只给cacti这个数据库授权
grant all on *.* to ‘root‘@‘localhost‘ identified by ‘huningfei‘;   ##只允许本地连接数据库
grant all on *.* to ‘root‘@‘%‘identified by ‘password‘;  ##允许任何主机连接数据库
grant all on *.* to dba@‘localhost‘  ##dba用户管理所有数据库的权限


二 设置mysql登录密码

第一种方法:

mysqladmin -uroot password  ‘huningfei‘ (不是登陆mysql之后运行)



第二种方法:(只要是root用户的密码全部更改)包括;root@%  root@localhost等

用UPDATE直接编辑user表

    mysql -u root
  mysql> use mysql;
  mysql> UPDATE user SET Password = PASSWORD(‘newpass‘) WHERE user = ‘root‘;
  mysql> FLUSH PRIVILEGES;


三 取消授权并删除用户

参考 http://www.cnblogs.com/wanghetao/p/3806888.html 

1如何查看授权的所有用户

SELECT DISTINCT CONCAT(‘User: ‘‘‘,user,‘‘‘@‘‘‘,host,‘‘‘;‘) AS query FROM mysql.user;


查看数据库中具体某个用户的权限

mysql> show grants for ‘cactiuser‘@‘%‘; 

2 取消授权

MySQL取消权限和删除用户   作为管理员,既然能够创建用户和授权,同样也可以取消授权和删除用户。要取消某个用户的权限,可以使用REVOKE语句。该语句的语法格式如下: 

Revoke privileges (columns) on what from user ;

 

其中privileges是要取消的权限,user是要被取消权限的用户名。  示例:    下面的代码实现了取消sss用户在localhost机器上的所有权限的功能。 

> revoke all on *.* from sss@localhost ;
Query OK, 0 rows affected (0.00 sec)

3 删除用户

REVOKE语句只能取消用户的权限,而不可以删除用户。即使取消了所有的权限,用户仍然可以连接到服务器。要想彻底的删除用户,必须使用DELETE语句将该用户的记录从MySQL数据库中的user表中删除。该语句的语法格式如下: 

Delete from user where user = "user_name" and host = "host_name" ; 
delete from user where user="" and host="localhost";

 

使用DELETE删除用户sss,代码如下: 

mysql> use mysql
Database changed
mysql> delete from user where user=‘sss‘ and host=‘localhost‘ ;
mysql>flush privileges ;
Query OK, 1 row affected (0.02 sec)


四 修改mysql的搜索引擎

1 查看mysql存储引擎命令,在mysql>提示符下搞入show engines;字段 Support为:Default表示默认存储引擎  
2、设置InnoDB为默认引擎:在配置文件my.cnf中的 [mysqld] 下面加入default-storage-engine=INNODB 一句

3、重启mysql服务器:mysqladmin -u root -p shutdown或者service mysqld restart 登录mysql数据库,


五 查看mysql链接的ip数

 1 netstat -an | grep ESTABLISHED |grep 3306 | awk {‘print $5‘}|sed  ‘s/:.*$//g‘


 2 mysql -uroot -p  -e"show processlist\G;"| egrep "Host\:" | awk -F: ‘{ print $2 }‘| sort | uniq -c  ##这个需要输入mysql的用户名



六 增删改查

查看数据库 show databases

查看在现在在哪个数据库下:select database();

切换数据库  use dbname

查看数据库的版本:select version();

查看表: show tables

查看表的详细信息 desc 表名

查看建表的语句  show create table  表名

创建一个数据库: create database hu;

创建表: create table tb1 (`id` int(4),`name` char(40)) 

表里插入数据:insert into tb1 values (2,‘hu‘);

删除一条数据:delete from db1 where name=‘55‘;

更新 update db1.t1 set name=‘aaa‘ where id=1;  
清空表 truncate table db1.t1; 
删除表 drop table db1.t1; 
删除数据库 drop database db1; 
修复表 repair table tb1 ; (discuz.user修复discuz库里面的user表)

查看mysql状态 show status;


本文出自 “渐行渐远” 博客,请务必保留此出处http://825536458.blog.51cto.com/4417836/1878134

mysql常用的一些命令