mysql+postgresql创建数据库、用户、权限

  • mysql
drop database if exists dc_test;
drop user dc_test;
create database dc_test;
create user dc_test@'%' IDENTIFIED BY 'dc_test';
grant all privileges on dc_test.* to dc_test;
flush privileges;


  • postgresql
--1.创建本地存储目录
mkdir -p /data/pg/pg94data/usr_dc_ods
chown -R postgres:postgres /data/pg/pg94data/

--2.登陆postgres数据库(默认的)
su - postgres
psql -d postgres

--3.创建属于数据库db_dc的超级管理员用户
create user usr_dc_admin password '****' login ;

--4.创建数据库db_dc,并绑定用户
create database db_dc
  with owner = usr_dc_admin
       encoding = 'UTF8'
       tablespace = pg_default
       lc_collate = 'en_US.UTF-8'
       lc_ctype = 'en_US.UTF-8'
       connection limit = -1;

--5.切换database
psql -d db_dc

--6.创建表空间tp_dc_ods,并制定表空间的本地目录
create tablespace tp_dc_ods location '/data/pg/pg94data/usr_dc_ods';

--7.创建用户usr_dc_ods、密码,并且赋予登陆权限
create user usr_dc_ods password '****' login;

--8.将表空间tp_dc_ods绑定给用户usr_dc_ods
grant create on tablespace tp_dc_ods to usr_dc_ods;

--9.创建名称为usr_dc_ods的schema,并关联到用户usr_dc_ods
create schema usr_dc_ods authorization usr_dc_ods;

--10.将usr_dc_ods(schema名)的使用权限赋予给usr_dc_od(用户名)
grant usage on schema usr_dc_ods to usr_dc_ods;


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是PostgreSQL数据库双主复制Active-Active模式的详细步骤: 1. 在两个主服务器上安装相同版本的PostgreSQL数据库软件,并保证两个主服务器的配置相同。 2. 在两个主服务器上创建一个用于复制的用户,并授予复制所需的权限。例如,在PostgreSQL数据库中,可以使用以下命令创建复制用户: ``` CREATE USER replicator WITH REPLICATION PASSWORD 'password'; ``` 3. 在两个主服务器上启用归档日志(archive log)功能,并确保归档日志的格式相同。在PostgreSQL数据库中,可以使用以下命令启用归档日志: ``` # 在postgresql.conf配置文件中添加以下参数 archive_mode = on archive_command = 'cp %p /path/to/archive/%f' ``` 其中,'archive_mode'参数指定启用归档日志功能,'archive_command'参数指定将归档日志文件复制到指定路径下。 4. 在两个主服务器上配置复制参数,将其设置为双主复制模式,并指定对方服务器作为复制的目标。在PostgreSQL数据库中,可以使用以下命令配置复制参数: ``` # 在第一个主服务器上执行以下命令 CREATE SUBSCRIPTION sub_name CONNECTION 'host=second_master_ip_address port=5432 dbname=mydb user=replicator password=password' PUBLICATION pub_name WITH (slot_name = sub_name, synchronous_commit = off); # 在第二个主服务器上执行以下命令 CREATE SUBSCRIPTION sub_name CONNECTION 'host=first_master_ip_address port=5432 dbname=mydb user=replicator password=password' PUBLICATION pub_name WITH (slot_name = sub_name, synchronous_commit = off); ``` 其中,'sub_name'参数指定订阅名称,'host'和'port'参数指定对方服务器的IP地址和端口号,'dbname'参数指定数据库名称,'user'和'password'参数指定复制用户用户名和密码,'pub_name'参数指定发布名称。 5. 启动复制进程,等待数据同步完成。在PostgreSQL数据库中,可以使用以下命令启动复制进程: ``` SELECT pg_create_logical_replication_slot('sub_name', 'pgoutput'); # 在第一个主服务器上执行以下命令 ALTER SUBSCRIPTION sub_name ENABLE; # 在第二个主服务器上执行以下命令 ALTER SUBSCRIPTION sub_name ENABLE; ``` 等待一段时间后,可以使用以下命令查看复制进程的状态: ``` SELECT * FROM pg_stat_subscription; ``` 如果复制进程正常运行,可以看到'state'状态为'streaming'。 6. 在应用程序中,需要对数据库的读写进行负载均衡,将读写请求分散到两个主服务器上。 需要注意的是,在进行数据库维护操作时,需要先停止复制进程,等操作完成后再重新启动复制进程,以避免数据的不一致。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值