目录
创建数据库
字符集和校验规则
查看数据库支持的字符集
查看数据库支持的字符集校验规则
指定字符集和校验规则
在配置文件中配置
查看数据库
显示创建语句
修改数据库
删除数据库
数据库的备份和恢复
备份整个数据库
备份特定表
备份多个数据库
备份所有数据库
MySQL服务的链接情况
个人主页:东洛的克莱斯韦克-CSDN博客
MySQL基础:【MySQL进阶之路】MySQL基础——从零认识MySQL-CSDN博客
创建数据库
create database 数据库的名称;
create database 是关键字后面跟上数据库的名称,表示创建数据库
create database if not exists 数据库的名称;
在中间加上if not exists ,表示如果要创建的数据库已存在则不报错。
字符集和校验规则
字符集是字符的集合,它定义了用于表示文本数据的符号和这些符号的编码。校验规则定义了字符集中字符的比较和排序规则。
查看数据库支持的字符集
show charset;
查看数据库支持的字符集校验规则
show collation;
指定字符集和校验规则
create database 数据库名称 charset=字符集 collate=校验规则;
charset= 后面表示要添加的字符集。collate= 后面表示要添加的校验规则。如果只指定了字符集,MySQL服务端会自动匹配对应的校验规则。相反,如果只指定了校验规则,MySQL服务端会自动匹配对应的字符集。
在配置文件中配置
可以在配置文件中配置默认的字符集和校验规则。
vim /etc/my.cnf
先打开该配置文件,然后在该配置文件中添加
character-set-server=字符集
collation-server=校验规则
如果创建数据库时指定了相关选项,就按指定的来,如果没有就按配置文件的来~
查看数据库
show databases;
查看MySQL服务中已创建的数据库。
显示创建语句
show create database 数据库名;
显示创建该数据库时用了哪些SQL语句。
修改数据库
对数据库的修改主要指的是修改数据库的字符集,校验规则
alter database 数据库名 charset=字符集 collate=校验规则;
删除数据库
drop database 数据库名;
如果加上 if exists 选项的话表示,如果删除的数据库并不存在则不报错。
执行删除之后的结果: 数据库内部看不到对应的数据库 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
drop database if exists 数据库名;
数据库的备份和恢复
mysqldump
是一个用于 MySQL 和 MariaDB 数据库管理系统的命令行工具,它允许用户生成数据库的备份文件(通常是 SQL 脚本),这些文件可以在需要时用来恢复数据库。mysqldump
提供了灵活的选项,使得用户可以根据需要备份整个数据库、数据库中的特定表或表的一部分。
备份整个数据库
mysqldump -u [用户名] -p[密码] [数据库名] > [备份文件名].sql
-p
和密码之间不应有空格,如果省略密码,系统将提示输入
备份特定表
mysqldump -u [用户名] -p[密码] [数据库名] [表名1] [表名2] > [备份文件名].sql
备份多个数据库
mysqldump -u [用户名] -p[密码] --databases [数据库名1] [数据库名2] > [备份文件名].sql
备份所有数据库
mysqldump -u [用户名] -p[密码] --all-databases > [备份文件名].sql
选项 | 描述 |
---|---|
--add-drop-database | 在每个 CREATE DATABASE 语句之前添加一个 DROP DATABASE 语句(如果数据库存在的话)。 |
--add-drop-table | 在每个 CREATE TABLE 语句之前添加一个 DROP TABLE IF EXISTS 语句。 |
--no-data | 只导出表结构,不导出数据。 |
--compact | 生成更紧凑的输出,去除不必要的注释和换行符。 |
--databases | 指定要备份的多个数据库(后跟数据库名列表)。 |
--all-databases | 备份所有数据库。 |
--where="condition" | 只导出满足指定条件的记录。 |
--ignore-table=db_name.tbl_name | 在备份时忽略指定的表。 |
-u [用户名] | 指定连接数据库的用户名。 |
-p[密码] | 指定连接数据库的密码(-p 和密码之间不应有空格,如果省略密码,系统会提示输入)。 |
MySQL服务的链接情况
show processlist
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你 的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。