linux下的常用mysql命令



linux下的常用mysql命令


在linux环境下使用mysql数据库,掌握一些常用mysql命令是非常有必要的。下文介绍了六种经常能够用到的常用mysql命令,供您参考。



    在linux环境下,都有哪些常用mysql命令呢?下文就为您列举了这样的一些常用mysql命令,如果您对常用mysql命令方面感兴趣的话,不妨一看。

    1.linux下启动mysql的命令:
       mysqladmin start
    /ect/init.d/mysql start (前面为mysql的安装路径)

    2.linux下重启mysql的命令:
       mysqladmin restart
    /ect/init.d/mysql restart (前面为mysql的安装路径)

    3.linux下关闭mysql的命令:
       mysqladmin shutdown
       /ect/init.d/mysql   shutdown (前面为mysql的安装路径)

    4.连接本机上的mysql:
    进入目录mysql\bin,再键入命令mysql -uroot -p, 回车后提示输入密码。
    退出mysql命令:exit(回车)

    5.修改mysql密码:
    mysqladmin -u用户名 -p旧密码 password 新密码
    或进入mysql命令行SET PASSWORD FOR root=PASSWORD("root");

    6.增加新用户。(注意:mysql环境中的命令后面都带一个分号作为命令结束符)
    grant select on 数据库.* to 用户名@登录主机 identified by "密码"
    如增加一个用户test密码为123,让他可以在任何主机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
    grant select,insert,update,delete on *.* to " Identified by "123";



    1、启动MySQL服务器
      实际上上篇已讲到如何启动MySQL。两种方法: 一是用winmysqladmin,如果机器启动时已自动运行,则可直接进入下一步操作。 二是在DOS方式下运行
    d:mysqlbinmysqld
      2、进入mysql交互操作界面
      在DOS方式下,运行: d:mysqlbinmysql
      出现: mysql 的提示符,此时已进入mysql的交互操作方式。
      如果出现 "ERROR 2003: Can′t connect to MySQL server on ′localhost′ (10061)“,
      
      说明你的MySQL还没有启动。
      3、退出MySQL操作界面
      在mysql>提示符下输入quit可以随时退出交互操作界面:
      mysql> quit
      Bye
      你也可以用control-D退出。
      4、第一条命令
      mysql> select version(),current_date();
      +----------------+-----------------+
      | version() | current_date() |
      +----------------+-----------------+
      | 3.23.25a-debug | 2001-05-17 |
      +----------------+-----------------+
      1 row in set (0.01 sec)
      mysql>
      此命令要求mysql服务器告诉你它的版本号和当前日期。尝试用不同大小写操作上述命令,看结果如何。结果说明mysql命令的大小写结果是一致的。
      练习如下操作:
      mysql>Select (20+5)*4;
      mysql>Select (20+5)*4,sin(pi()/3);
      mysql>Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名为Result)
      mysql> select
      -> USER()
      -> ,
      -> now()
      ->;
      +--------------------+---------------------+
      | USER() | now() |
      +--------------------+---------------------+
      | ODBC@localhost | 2001-05-17 22:59:15 |
      +--------------------+---------------------+
      1 row in set (0.06 sec)
      mysql>
      
      注意中间的逗号和最后的分号的使用方法。
      6、一行多命令
      输入如下命令:
      mysql> SELECT USER(); SELECT NOW();
      +------------------+
      | USER() |
      +------------------+
      | ODBC@localhost |
      +------------------+
      1 row in set (0.00 sec)
      +---------------------+
      | NOW() |
      +---------------------+
      | 2001-05-17 23:06:15 |
      +---------------------+
      1 row in set (0.00 sec)
      mysql>  
      注意中间的分号,命令之间用分号隔开。
      7、显示当前存在的数据库
      mysql> show databases;
      +----------+
      | Database |
      +----------+
      | mysql |
      | test |
      +----------+
      2 row in set (0.06 sec)
      mysql>
      
      8、选择数据库并显示当前选择的数据库
      mysql> USE mysql
      Database changed
      mysql>
      (USE 和 QUIT 命令不需要分号结束。)
      mysql> select database();
      +---------------+
      | database() |
      +---------------+
      | mysql |
      +---------------+
      1 row in set (0.00 sec)
      
      9、显示当前数据库中存在的表
      mysql> SHOW TABLES;
      10、显示表(db)的内容
      mysql>select * from db;
      11、命令的取消
      当命令输入错误而又无法改变(多行语句情形)时,只要在分号出现前就可以用 c来取消该条命令
      mysql> select
      -> user()
      -> c
      mysql>
      这是一些最常用的最基本的操作命令,通过多次练习就可以牢牢掌捂了



    MySQL之用户权限 2010-10-02 01:49:51

    分类: Mysql/postgreSQL

    MySQL之用户权限
    MySQL 赋予用户权限命令的简单格式可概括为:
    grant 权限 on 数据库对象 to 用户
     
    1.grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
     
    grant select on testdb.* to common_user@'%'
    grant insert on testdb.* to common_user@'%'
    grant update on testdb.* to common_user@'%'
    grant delete on testdb.* to common_user@'%'
    或者,用一条 MySQL 命令来替代:
    grant select, insert, update, delete on testdb.* to common_user@'%'
     
    2.grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。
     
    grant 创建、修改、删除 MySQL 数据表结构权限。
    grant create on testdb.* to developer@'192.168.0.%';
    grant alter  on testdb.* to developer@'192.168.0.%';
    grant drop   on testdb.* to developer@'192.168.0.%';
     
    grant 操作 MySQL 外键权限。
    grant references on testdb.* to developer@'192.168.0.%';
     
    grant 操作 MySQL 临时表权限。
    grant create temporary tables on testdb.* to developer@'192.168.0.%';
     
    grant 操作 MySQL 索引权限。
    grant index on  testdb.* to developer@'192.168.0.%';
     
    grant 操作 MySQL 视图、查看视图源代码 权限。
    grant create view on testdb.* to developer@'192.168.0.%';
    grant show   view on testdb.* to developer@'192.168.0.%';
     
    grant 操作 MySQL 存储过程、函数 权限。
    grant create routine on testdb.* to developer@'192.168.0.%';  -- now, can show procedure status
    grant alter  routine on testdb.* to developer@'192.168.0.%';  -- now, you can drop a procedure
    grant execute        on testdb.* to developer@'192.168.0.%';
     
    3.grant 普通 DBA 管理某个 MySQL 数据库的权限。
     
    grant all privileges on testdb to dba@'localhost'
    其中,关键字 “privileges” 可以省略。
     
    4.grant 高级 DBA 管理 MySQL 中所有数据库的权限。
     
    grant all on *.* to dba@'localhost'
     
    5.MySQL grant 权限,分别可以作用在多个层次上。
     
    1> grant 作用在整个 MySQL 服务器上:
    grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。
    grant all    on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库
     
    2> grant 作用在单个数据库上:
    grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。
     
    3> grant 作用在单个数据表上:
    grant select, insert, update, delete on testdb.orders to dba@localhost;
     
    4> grant 作用在表中的列上:
    grant select(id, se, rank) on testdb.apache_log to dba@localhost;
     
    5> grant 作用在存储过程、函数上:
    grant execute on procedure testdb.pr_add to 'dba'@'localhost'
    grant execute on function  testdb.fn_add to 'dba'@'localhost'
     
    6.查看 MySQL 用户权限
     
    查看当前用户(自己)权限:
    show grants;
     
    查看其他 MySQL 用户权限:
    show grants for dba@localhost;
     
    7.撤销已经赋予给 MySQL 用户权限的权限。
     
    revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:
    grant  all on *.* to   dba@localhost;
    revoke all on *.* from dba@localhost;
     
    8.MySQL grant、revoke 用户权限注意事项
     
    1>  grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。
    2> 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“
    grant select on testdb.* to dba@localhost with grant option;
    这个特性一般用不到。实际中,数据库权限最好由 DBA 来统一管理。
     
    9.应用实例:新建用户并只付给指定数据库操作权限.
     
    下面为创建lamfire用户,远程登录密码为123456,并分配其对lamfireDB数据库完全操作权限
     
    CREATE USER 'lamfire'@'%' IDENTIFIED BY '123456';
    GRANT USAGE ON * . * TO 'lamfire'@'%' IDENTIFIED BY '123456'  ;
    CREATE DATABASE IF NOT EXISTS `lamfireDB` ;
    GRANT ALL PRIVILEGES ON `lamfireDB` . * TO lamfire@'%';
    FLUSH PRIVILEGES;
     
    10.查看系统用户表.
    use mysql;
    select * from user;
     
    11.用户创建
    mysql> CREATE USER yy IDENTIFIED BY '123';       
    yy表示你要建立的用户名,后面的123表示密码
    上面建立的用户可以在任何地方登陆。

    12.如果要限制在固定地址登陆,比如localhost 登陆:
    mysql> CREATE USER yy@localhost IDENTIFIED BY '123';
    grant:
    mysql> GRANT ALL PRIVILEGES ON *.* TO user@localhost
    grant select,insert,update,delete on *.* to test1@"%" Identified by "abc"; grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
    格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
    GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
    其中,user是用户名,MySQL默认的是root ,password是密码自己设置 。%表示任意主机。这样就允许远程任意一台主机访问了。

    13.修改密码:
    mysql> grant  all  privileges  on  cacti.*   to   user@localhost   identified   by   'password';  
    flush:
    mysql> flush privileges;
    查看用户信息:
    mysql> select host,user from mysql.user; 
    
    
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值