文章目录
- 62 openEuler 22.03-LTS 搭建MySQL数据库服务器-管理数据库
- 62.1 创建数据库
- 示例
- 62.2 查看数据库
- 示例
- 62.3 选择数据库
- 示例
- 62.4 删除数据库
- 示例
- 62.5 备份数据库
- 示例
- 62.6 恢复数据库
- 示例
62 openEuler 22.03-LTS 搭建MySQL数据库服务器-管理数据库
62.1 创建数据库
可以使用CREATE DATABASE语句来创建数据库。
CREATE DATABASE databasename;
其中:databasename为数据库名称,且数据库名称不区分大小写。
示例
创建数据库名为testdb的数据库。
mysql> CREATE DATABASE testdb;
Query OK, 1 row affected (0.00 sec)
mysql>
62.2 查看数据库
可以使用SHOW DATABASES语句来查看数据库。
SHOW DATABASES;
示例
查看所有数据库。
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| testdb |
+--------------------+
5 rows in set (0.00 sec)
mysql>
62.3 选择数据库
一般创建表,查询表等操作首先需要选择一个目标数据库。可以使用USE语句来选择数据库。
USE databasename;
其中:databasename为数据库名称。
示例
选择testdb数据库。
mysql> USE testdb;
Database changed
mysql>
62.4 删除数据库
可以使用DROP DATABASE语句来删除数据库。
注意:
删除数据库要谨慎操作,一旦删除,数据库中的所有表和数据都会删除。
DROP DATABASE databasename;
其中:databasename为数据库名称。
DROP DATABASE命令用于删除创建过(已存在)的数据库,且会删除数据库中的所有表,但数据库的用户权限不会自动删除。
要使用DROP DATABASE,您需要数据库的DROP权限。
DROP SCHEMA是DROP DATABASE的同义词。
示例
删除testdb数据库。
mysql> DROP DATABASE testdb;
Query OK, 0 rows affected (0.00 sec)
mysql>
62.5 备份数据库
可以在root权限下使用mysqldump命令备份数据库。
备份一个或多个表:
# mysqldump [options] databasename [tablename ...] > outfile
备份一个或多个库:
# mysqldump [options] -databases databasename ... > outfile
备份所有库:
# mysqldump [options] -all-databases > outputfile
其中:
- databasename:数据库名称。
- tablename:数据表名称。
- outfile:数据库备份的文件。
- options:mysqldump命令参数选项,多个参数之间可以使用空格分隔。常用的mysqldump命令参数选项如下:
- -u, --user= username :指定用户名。
- -p, --password[= password]:指定密码。
- -P, --port= portnumber :指定端口。
- -h, --host= hostname :指定主机名。
- -r, --result-file= filename :将导出结果保存到指定的文件中,等同于“>”。
- -t:只备份数据。
- -d:只备份表结构。
示例
备份主机为192.168.0.21,端口为3306,root用户下的所有数据库到alldb.sql中。
[root@superman-21 ~]# mysqldump -h 192.168.0.21 -P 3306 -uroot -p123456 --all-databases > alldb.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@superman-21 ~]#
备份主机为192.168.0.21,端口为3306,root用户下的db1数据库到db1.sql中。
[root@superman-21 ~]# mysqldump -h 192.168.0.21 -P 3306 -uroot -p123456 --databases db1 > db1.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@superman-21 ~]#
备份主机为192.168.0.21,端口为3306,root用户下的db1数据库的tb1表到db1tb1.sql中。
[root@superman-21 ~]# mysqldump -h 192.168.0.21 -P 3306 -uroot -p123456 db1 tb1 > db1tb1.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@superman-21 ~]#
只备份主机为192.168.0.21,端口为3306,root用户下的db1数据库的表结构到db1_str.sql中。
[root@superman-21 ~]# mysqldump -h 192.168.0.21 -P 3306 -uroot -p123456 -d db1 > db1_str.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@superman-21 ~]#
只备份主机为192.168.0.21,端口为3306,root用户下的db1数据库的数据到db1.sql中。
[root@superman-21 ~]# mysqldump -h 192.168.0.21 -P 3306 -uroot -p123456 -t db1 > db1_data.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@superman-21 ~]#
62.6 恢复数据库
可以在root权限下使用mysql命令恢复数据库。
恢复一个或多个表:
# mysql -h hostname -P portnumber -u username -ppassword databasename < infile
其中:
- hostname:主机名。
- portnumber:端口号。
- username:用户名。
- password:密码。
- databasename:数据库名。
- infile:mysqldump命令中的outfile参数。
示例
恢复数据库。
[root@superman-21 ~]# mysql -h 192.168.0.21 -P 3306 -uroot -p123456 -t db1 < db1_data.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@superman-21 ~]#
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!