MySQL基本命令总结

登录MySQL

  1. # 所有参数是可选的。参数u为用户名,参数p为密码,参数h为主机,port为端口,dbname为数据库的名字。
  2. # 直接“-p”不加密码,则会先提示输入密码再登录(这样密码是不可见的更安全)。如果密码中有特殊字符,按Shell的语法用单引号括起来即可。
  3. mysql -u root -p mypassword -h myhost --port=3306 dbname

无密码登录(找回密码)

  1. 对于Ubuntu系统

    注:以下均使用sudo权限

    1. vi /etc/mysql/my.cnf # 编辑配置文件,在[mysqld]中加入一行“skip-grant-tables”
    2. service mysql restart # 重启MySQL服务
    3. mysql # 进入mysql的命令行
  2. 还可尝试直接运行

    1. mysql -skip-grant-tables

MySQL命令行

登录进入MySQL命令行后,光标前会显示mysql>
MySQL命令行中可以直接执行SQL语句,注意需要用分号结束。
命令行中多数指令都不需要区分大小写。

用户信息

MySQL的用户名和密码保存在数据库mysql的user表中,而数据库本身保存在文件中。
进入MySQL,输入show variables like '%datadir%';可以显示数据库保存的文件夹。
首次启动MySQL服务时,会自动创建用户数据库,通常会提示修改密码。默认root用户没有密码。

MySQL 5.7+用户相关设置

参考官方文档:《14.7.1 Account Management Statements》 http://dev.mysql.com/doc/refman/5.7/en/account-management-sql.html

创建用户

  1. mysql> CREATE USER 'jzj'@'localhost' IDENTIFIED BY 'Password@123';
  2. Query OK, 0 rows affected (0.00 sec)

查看当前用户

  1. mysql> SELECT CURRENT_USER();
  2. +----------------+
  3. current_user()
  4. +----------------+
  5. root@localhost
  6. +----------------+
  7. 1 row in set (0.00 sec)

设置密码

  1. mysql> SET PASSWORD FOR 'jeffrey'@'localhost' = password_option;

设置当前用户密码

  1. mysql> set password='Password@123';
  2. Query OK, 0 rows affected, 1 warning (0.00 sec)

MySQL早期版本密码设置(5.6及以前)

查看用户信息

  1. mysql> select host,user,password from mysql.user;

修改密码可使用update命令(不推荐)

  1. mysql> update mysql.user set password=password('new password') where user='root';

使用mysqladmin修改密码

  1. ~ mysqladmin -uroot -p'old password' password 'new password'
  2. mysqladmin: [Warning] Using a password on the command line interface can be insecure.
  3. Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.