MySQL基础命令详解与权限管理

需积分: 15 2 下载量 161 浏览量 更新于2024-07-24 收藏 457KB PDF 举报
MySQL是一种广泛使用的开源关系型数据库管理系统,本文将为你概述一些常用的MySQL命令,帮助你更有效地管理和操作数据库。 1. **显示数据库**: `SHOW DATABASES;` 这个命令用于列出当前MySQL服务器上所有的数据库,这对于了解数据库架构或管理数据库权限非常有用。 2. **创建数据库**: `CREATE DATABASE dbname;` 用于创建一个新的数据库,其中`dbname`是你想要的名字。数据库创建成功后,你可以使用`USE dbname;`切换到该数据库。 3. **选择/切换数据库**: `USE dbname;` 用来指定你正在工作的数据库,如果你没有显式指定,大部分MySQL命令都将作用于当前数据库。 4. **删除数据库**: `DROP DATABASE dbname;` 删除数据库时要小心,因为此操作不可逆。在删除前,`mysqladmin`命令如`mysqladmin drop dbname`(如果设置了提示)提供了额外的安全确认步骤。 5. **查看表**: `SHOW TABLES;` 显示指定数据库中的所有表,或者在`USE dbname;`后,查看当前数据库中的表。 6. **查看表结构**: `DESCRIBE tablename;` 或 `SHOW COLUMNS FROM tablename;` 可以查看特定表的列名、数据类型和其他元数据。 7. **去重查询**: 在`SELECT`语句中添加`DISTINCT`关键字,可以返回唯一的值,防止重复结果。 8. **显示MySQL版本和当前日期**: `SELECT VERSION(), CURRENT_DATE;` 这两个函数分别返回MySQL服务器的版本号和当前日期。 9. **修改MySQL root用户的密码**: 使用shell命令行登录MySQL,然后执行`UPDATE users SET password = PASSWORD('new_password') WHERE user = 'root';`,确保替换`new_password`为新密码。最后刷新权限以应用更改:`FLUSH PRIVILEGES;` 10. **创建用户和授权**: - `CREATE DATABASE dbname;` - `GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'ip_address' IDENTIFIED BY 'password';` 这里,`username`、`dbname`、`ip_address`和`password`应替换为你所需的用户名、数据库名、IP地址和新密码。`GRANT`语句允许你分配不同级别的访问权限,如`INSERT`, `SELECT`, `UPDATE`等。 11. **登录权限问题**: 默认情况下,MySQL限制了从非localhost的IP地址登录。若要更改此设置,需使用`GRANT`命令为特定IP地址授予权限,如`GRANT ALL *.* TO 'root'@'202.116.39.2' IDENTIFIED BY '123456';` 这些命令是MySQL基础操作的核心部分,熟练掌握它们能够极大地提高数据库管理和查询效率。对于更复杂的操作,如索引管理、视图创建、存储过程等,还有更多的高级命令等待发掘。在实际应用中,请根据具体需求和安全性要求进行操作。