培训、环境、资料、考证
公众号:波比网络公众号2:波比网络工作室
网络建设与运维群:923381373波比网络专注于技能提升,赋能
11.postgresql 服务
任务描述:请采用 postgresql 服务,实现数据存储。
(1)配置 linux3 为 postgresql 服务器,创建数据库 userdb,在 该数据库中创建表 userinfo,在表中插入 2 条记录,分别为(1,user1,2004-7-1),(2,user2,2004-7-2),口令与用户名相同,password 字段用 md5 函数加密,表结构如下:
( 2) 设 置 可 以 直 接 在 shell 下 操 作 数 据 库 , 然 后 备 份 数 据 库
userdb(含创建数据库命令)到/var/pgbak/userdb.sql;备份 userinfo表记录到/var/pgbak/userinfo.sql,字段之间用','分隔。
解答:
(1)配置 linux3 为 postgresql 服务器,创建数据库 userdb,在 该数据库中创建表 userinfo,在表中插入 2 条记录,分别为(1,user1,2004-7-1),(2,user2,2004-7-2),口令与用户名相同,password 字段用 md5 函数加密
安装 postgresql 服务,对数据库系统进行初始化,并且放行相关访问端口。
[root@linux3 ~]# yum -y install postgresql-server
[root@linux3 ~]# postgresql-setup --initdb
[root@linux3 ~]# systemctl enable --now postgresql
[root@linux3 ~]# firewall-cmd --add-port=5432/tcp --permanent
[root@linux3 ~]# firewall-cmd –reload
登陆数据库系统创建数据库和表:
[root@linux3 ~]# sudo -u postgres psql
postgres-# CREATE DATABASE userdb;
postgres-# \c userdb
sysdb-# CREATE TABLE userinfo(
id SERIAL PRIMARY KEY,
name VARCHAR(10),
birthday DATE,
password VARCHAR(100));
sysdb-# INSERT INTO userinfo VALUES (1,'user1','1995-07-01',MD5('user1'));
sysdb-# INSERT INTO userinfo VALUES (2,'user2','1995-09-01',MD5('user2'));
sysdb-#
sysdb-#\q
//建议学会postgresql的增删改查
\l == show databases;
\c == use
\d == show tables;
\d 表名 == desc 表名;
( 2) 设 置 可 以 直 接 在 shell 下 操 作 数 据 库 , 然 后 备 份 数 据 库
userdb(含创建数据库命令)到/var/pgbak/userdb.sql;备份 userinfo表记录到/var/pgbak/userinfo.sql,字段之间用','分隔。
备 份 数 据 库
[root@linux3 ~]# mkdir -p /var/pgbak/
[root@linux3 ~]# chmod 777 /var/pgbak/
[root@linux3 ~]# chmod 777 /root
[root@linux3 ~]# sudo -u postgres pg_dump -cCf /var/pgbak/userdb.sql userdb
[root@linux3 ~]# sudo -u postgres psql -d userdb -c "COPY (SELECT * FROM userinfo) TO '/var/pgbak/userinfo.sql' WITH CSV"