MySQL是最重要的开源数据库之一,大部分网站都采用LAMP或LNMP架构作为后台系统架构,而其中的M就代表MySQL。由于在很多情况下,MySQL都是在Linux上使用,没有图形界面,所以本文就介绍一些MySQL在命令行下使用的技巧。

  1. 添加用户,在MySQL命令行窗口下输入:

    CREATE USER user@localhost IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON db.* TO user@localhost;
    

    上述操作也可以合为一条命令。格式如下:

    GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON db.* TO 'guest'@'%' IDENTIFIED BY 'password';
    
  2. 修改普通用户密码,在MySQL命令行窗口下输入:

    SET PASSWORD FOR user@localhost = password('password');
    
  3. 修改管理员密码,在操作系统终端下输入:

    mysqladmin -u root -p"OldPassword" password "NewPassword"
    

    这里也可以不输”OldPassword”,命令执行时会要求你输入。另外,如果是新加密码,可以不加”-p”参数。

    mysqladmin -u root password "password"
    
  4. SQL查询有限的条目
    使用LIMIT子句: LIMIT [offset,] rows

    SELECT id, title, date FROM news ORDER BY date LIMIT 100, 10
    

    返回从第101行记录开始的10行数据。如果”LIMIT”后只有一个数字,则表示从第一行开始取。

  5. 备份和恢复

    • 使用Dump备份数据库,在操作系统终端下输入:

      mysqldump -u root -p report > report.sql
      

      该操作是在MySQL命令行中执行。将名为”report”的数据库dump到本地”report.sql”文件中。dump文件包括了所有需要创建表和数据的SQL语句,但是不包括创建数据库本身的SQL。

    • 恢复时先创建数据库,在MySQL命令行窗口下输入:

      CREATE DATABASE report DEFAULT CHARACTER SET utf8;
      
    • 导入SQL,在操作系统终端下输入:

      mysql -u root -p report < report.sql