### MySQL常用命令详解 #### 一、数据库管理命令 **创建数据库:** ```sql CREATE DATABASE database_name; ``` 此命令用于创建一个新数据库。其中`database_name`为要创建的数据库名称。 **选择数据库:** ```sql USE database_name; ``` 用于切换到指定的数据库,以便后续的操作都在该数据库内进行。 **删除数据库:** ```sql DROP DATABASE database_name; ``` 用于删除指定的数据库。这是一个危险的操作,请确保在执行之前备份数据。 **显示当前数据库中的所有表:** ```sql SHOW TABLES; ``` 可以查看当前选定数据库内的所有表名。 **查看表结构:** ```sql DESCRIBE table_name; ``` 用来展示指定表的具体字段信息及类型等属性。 **查询版本和日期:** ```sql SELECT VERSION(), CURRENT_DATE; ``` 获取MySQL服务器的版本信息和当前日期。 #### 二、用户权限管理命令 **修改用户密码:** ```sql UPDATE user SET password = PASSWORD('new_password') WHERE User = 'username'; FLUSH PRIVILEGES; ``` 修改指定用户的密码,`'new_password'`替换为新密码,`'username'`为要修改密码的用户名。修改后需要刷新权限缓存。 **查看当前所有数据库:** ```sql SHOW DATABASES; ``` 显示系统中存在的所有数据库。 **授权命令:** ```sql GRANT all_privileges ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; GRANT all_privileges ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; ``` 授予用户特定权限,`'user'`是用户名,`'localhost'`或`'%'`指代主机地址,`'password'`为密码,`WITH GRANT OPTION`表示可以进一步转授权限。 **撤销权限:** ```sql REVOKE ALL PRIVILEGES ON *.* FROM 'user'@'%'; DELETE FROM user WHERE User = 'user' AND Host = '%'; FLUSH PRIVILEGES; ``` 撤销用户的权限,并从用户表中删除该用户。 **自定义用户权限:** ```sql GRANT select, insert, update, delete, create, drop ON fangchandb.* TO 'custom'@'it363.com' IDENTIFIED BY 'passwd'; ``` 为特定用户赋予特定数据库上的权限。 #### 三、表操作命令 **重命名表:** ```sql ALTER TABLE t1 RENAME TO t2; ``` 将表`t1`重命名为`t2`。 #### 四、数据备份与恢复 **使用mysqldump命令备份数据库:** ```sh mysqldump -h host -u root -p dbname > dbname_backup.sql ``` 其中`-h host`指定了主机名,`-u root`指定了用户名,`-p`之后会提示输入密码,`dbname`为要备份的数据库名称。 **备份数据至文件:** ```sh mysqldump -h localhost -u root -p user > E:/users.sql ``` 将指定数据库导出到指定文件中。 **创建数据库:** ```sh mysqladmin -h myhost -u root -p create dbname ``` 通过mysqladmin命令创建一个新的数据库。 **恢复数据:** ```sh mysql -h host -u root -p dbname < dbname_backup.sql ``` 将备份的数据文件导入到数据库中。 **仅导出数据:** ```sh mysqladmin -u root -p -d dbname > a.sql ``` 只导出数据而不包含表结构。 **仅导出数据为文本格式:** ```sh mysqladmin -u root -p -t dbname > a.sql ``` 仅导出数据为文本格式。 **导出数据和表结构至文件:** ```sh mysqldump -u root -p -T ./phptestdriver [dbname table] ``` 导出数据和表结构至指定目录下的文件,每个表分别生成.sql和.txt两个文件。 #### 五、SQL脚本执行 **执行SQL脚本文件:** ```sql mysql -h myhost -u root -p database < sql.txt ``` 从一个SQL脚本文件执行SQL语句。 **创建数据库并设置字符集:** ```sql CREATE DATABASE `php168` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; ``` 创建名为`php168`的数据库,并设置默认字符集为gbk。 #### 六、远程定时备份MySQL数据库 **实现Linux下MySQL定时备份脚本:** 为了保证网站数据的安全性,需要定期对MySQL数据库进行备份。可以通过编写定时任务来自动完成这项工作。 ```sh /usr/local/mysql/bin/mysqldump -u root -p123456789a1m > $(date +%Y%m%d)-a1m.sql /usr/local/mysql/bin/mysqldump -u root -p123456789 Asia1Market > $(date +%Y%m%d)-Asia1Market.sql ``` 以上命令会将数据库`a1m`和`Asia1Market`分别备份到当前目录下的以日期为前缀的文件中。这种方式适用于需要定期备份多个数据库的情况。 以上MySQL命令涵盖了数据库的基本管理和维护操作,包括数据库和表的创建、删除、修改,以及用户权限管理等,对于日常的数据库管理工作非常有用。希望这些命令能够帮助您更好地管理和维护您的MySQL数据库。
- 粉丝: 1
- 资源: 26
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助