文章目录
- 58 openEuler搭建Mariadb数据库服务器-管理数据库
- 58.1 创建数据库
- 58.2 查看数据库
- 58.3 选择数据库
- 58.4 删除数据库
- 58.5 备份数据库
- 58.6 恢复数据库
58 openEuler搭建Mariadb数据库服务器-管理数据库
58.1 创建数据库
可以使用CREATE DATABASE语句来创建数据库。
CREATE DATABASE databasename;
其中:databasename为数据库名称,且数据库名称不区分大小写。
例如示例命令如下:
创建数据库名为testdb的数据库。
MariaDB [(none)]> CREATE DATABASE testdb;
Query OK, 1 row affected (0.000 sec)
MariaDB [(none)]>
58.2 查看数据库
可以使用SHOW DATABASES语句来查看数据库。
SHOW DATABASES;
例如示例命令如下:
查看所有数据库。
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| testdb |
+--------------------+
4 rows in set (0.000 sec)
MariaDB [(none)]>
58.3 选择数据库
一般创建表,查询表等操作首先需要选择一个目标数据库。可以使用USE语句来选择数据库。
USE databasename;
其中:databasename为数据库名称。
例如示例命令如下:
选择testdb数据库。
MariaDB [(none)]> USE testdb;
Database changed
MariaDB [testdb]>
58.4 删除数据库
可以使用DROP DATABASE语句来删除数据库。
注意:
删除数据库要谨慎操作,一旦删除,数据库中的所有表和数据都会删除。
DROP DATABASE databasename;
其中:databasename为数据库名称。
DROP DATABASE命令用于删除创建过(已存在)的数据库,且会删除数据库中的所有表,但数据库的用户权限不会自动删除。
要使用DROP DATABASE,您需要数据库的DROP权限。
DROP SCHEMA是DROP DATABASE的同义词。
例如示例命令如下:
删除testdb数据库。
MariaDB [testdb]> DROP DATABASE testdb;
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]>
58.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_data.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 ~]#
58.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 ~]#
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!