`
wangking717
  • 浏览: 257607 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

MYSQL常用命令

阅读更多

小编说话:很多时候,MYSQL没有开启远程连接,那么就只能通过命令的方式进行操作,常运用于服务器数据库维护,这时候此文大派用场。

 

一:连接MySQL

#格式: mysql -h主机地址 -u用户名 -p用户密码
mysql –uroot –p123456 #连接本机MYSQL 
mysql –h108.108.108.108 –uroot –p123456 #连接远程MYSQL 
#退出MYSQL环境,exit (回车) 或者 Ctrl+C 

 

二:修改密码 

#格式1:mysqladmin -u用户名 -p旧密码 password 新密码
#假设root用户没有密码,那么我们开始给root添加密码,然后再修改成另外一个密码 
mysqladmin -uroot -password 123456 //添加密码 
mysqladmin -uroot –p123456 password 666666 //修改密码

#格式2:SET PASSWORD FOR 用户名@'登录主机' = password('新密码')
SET PASSWORD FOR test2@'localhost'=PASSWORD('123456')

 


三:增加新用户 && 赋予权限 (根据查询系统数据库mysql中的user表查看情况)

(注意:在MySQL 环境下运行) 
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码" 
例1:增加一个用户 test1,并开启远程连接(即允许任何电脑都能访问): 
grant select, insert, update, delete,create,drop on *.* to test1@"%" Identified by "123456";

例2:增加一个用户test2,禁止远程连接(只允许localhost登录)。 
grant select, insert, update,delete,create,drop on mydb.* to test2@localhost identified by "123456"; 
 
例3:增加一个拥有所有权限的localhost的用户
GRANT ALL PRIVILEGES ON mydb.* TO test2@localhost IDENTIFIED BY "123456";
 
例4:只赋予权限不改密码:
GRANT INDEX ON mydb.* TO test2@localhost

如果你不想test2有密码,可以再打一个命令将密码消掉。 
grant select, insert, update, delete,create,drop on mydb.* to test2@localhost identified by ""; 

如果想添加一个不限IP,不限数据库的所有权限账户。
GRANT ALL PRIVILEGES ON *.* TO wangkun@"%" IDENTIFIED BY "123456";
 
注:运行grant后,要进行“flush privileges;”,完成添加用户后要的重新启动mysql服务
(注意:当如果进行了以上操作还是没法远程连接的话,可使用nestat命令查看3306端口状态) 
~# netstat -an | grep 3306
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN
 
从结果可以看出3306端口只是在IP 127.0.0.1上监听,所以拒绝了其他IP的访问。
 
解决方法:修改/etc/mysql/my.cnf文件。打开文件,找到下面内容:
bind-address  = 127.0.0.1
把上面这一行注释掉或者把127.0.0.1换成合适的IP,建议注释掉。
重新启动后,重新使用netstat检测:
~# netstat -an | grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN

 

 

四:撤销用户权限

格式:REVOKE 权限 ON *.* FROM '用户名'@'登录主机'
1.REVOKE SELECT ON *.* FROM 'test2'@'localhost'
2.REVOKE ALL PRIVILEGES ON *.* FROM 'test2'@'localhost'
然后flush

 

 

五:删除用户 (根据查询系统数据库mysql中的user表查看情况)

格式: DROP USER '用户名'@'登录主机'
如:删除用户localhost下的iauser
DROP USER 'iauser'@'localhost'

 


六:在MYSQL环境中,常用的命令如下

1. show databases (显示所有数据库) 
2. use table_name (进入某数据库) 
3. show tables (显示该数据库下的所有表) 
4. desc table_name (显示表结构) 
5. 至于对表的增删改查,可以网上查找,或者开启MYSQL远程连接,通过工具操作。

  

五:MySQL导入导出命令

1.导出整个数据库 
  格式:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
  mysqldump -u root -p bbs > bbs.sql
    加读锁方式的导出
       格式:mysqldump -u 用户名 -p 数据库名 -l -F  > 导出的文件名
       mysqldump -u root -p bbs -l -F > bbs.sql
2.导出一个表 
  格式:mysqldump -u 用户名 -p 数据库名 表名 > 导出的文件名
  mysqldump -u root -p bbs users > bbs_users.sql 

3.导入数据库 
  常用source 命令 
  进入mysql数据库控制台, 
  如mysql -u root -p 
  mysql>use 数据库 
  然后使用source命令,后面参数为脚本文件(如这里用到的.sql) 
  mysql>source d:bbs.sql  (注:如果写成source d:\bbs.sql,就会报语法错误)

 

六:MySQL加读锁和解锁

flush tables with read lock;  #对所有表加读锁
unlock tables; #解锁

  

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics