gitlab连接并批量修改数据库账号邮箱地址(上)

最近,由于公司的域名发生变化,导致需要批量修改gitlab的账号。这个工作对于运维人员来说,工作量还是相对较大的。因此,尝试通过脚本修改数据库的方式进行批量修改。

整个过程大致分为几个阶段:

1)搞清楚gitlab的数据库结构

2)使用Python对相关的字段进行修改,若发现以@xxx结尾的域名,自动替换为@aaa的域名

注:本文中所采用的gitlab安装方式为官方默认的yum安装

1)gitlab的数据库采用的是postgresql,连接库时需要修改pg_hba.conf文件的相关配置

vim /var/opt/gitlab/postgresql/data/pg_hba.conf

host all all CIDR/MASK trust #添加需要连接数据库的主机网络地址及子网掩码

2)修改postgresql.conf配置local_ip_address

vim postgresql.conf

listen_addresses = ‘local_ip_address‘ #local_ip_address为服务器ip

3)重启数据库

gitlab-ctl restart postgresql

4)连接数据库

cd /opt/gitlab/embedded/

bin/psql -U gitlab-psql -d gitlabhq_production -h local_ip_address #测试成功,能够连接数据库

5)由于postgresql的sql语句不是很了解,因此采用了Navicat for PostgreSQL工具进行数据库连接

6)连接数据库正常,最后我们只需要关注需要修改项即可。

时间: 2024-10-18 15:22:16

gitlab连接并批量修改数据库账号邮箱地址(上)的相关文章

MySQL数据库批量修改数据库中的表

问题:今天工作遇到这样一个问题,需要把数据库中的所有表,每个表加入四个字段,如果表少,我们可以手动去添加或者修改,如果是成千上百万张表的话,我们如何去修改,现记录下来. 解决方法: 找到数据库的建模资料,就是PDM文件.发个截图 下面我们就要用一个工具了,就是powerdesign,我们将用这个工具批量修改数据库表中的字段.需要用vb脚本. 我们打开powerdesign,点开脚本运行栏,方法,工具--如图 点击后的运行脚本框如下写好的脚本放在上面运行即可. vb语法 Option Explic

GIT 查看/修改用户名和邮箱地址

git中用户名和邮箱地址的作用: 用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变. 每次commit都会用用户名和邮箱纪录. github的contributions统计就是按邮箱来统计的. 查看用户名和邮箱地址: $ git config user.name $ git config user.email 修改用户名和邮箱地址: $ git config --global user.name "username" $ git config --global user

MySQL批量修改数据库的字符集

#走过,试过的路 UPDATE information_schema.`SCHEMATA` SET DEFAULT_COLLATION_NAME='utf8_general_ci' WHERE DEFAULT_COLLATION_NAME<>'utf8_general_ci'; #————尝试使用update语句来修改,这是走不通的,报以下错误 没有权限. #错误代码: 1044#Access denied for user 'root'@'%' to database 'informatio

notepad++ 文本替换功能,解决excel批量修改数据库的数据操作

^ \(' 开始\t ',' 制表符$ '\) 行末 复制出来之后,使用文本替换功能,转换为SQL,添加到临时表中.然后多表关联修改. SELECT COUNT(*) FROM orderno; # 933行# 单个UPDATE account_log t1,orderno t2 SET t1.`flag`=1 WHERE t1.`order_no`=t2.`order_no` AND t1.`income_type`=4 AND t1.`order_no`='557083624061';# 批

mysql批量修改数据库表引擎

数据库表之前的引擎是MyISAM,影响事务操作,要改成Innodb引擎 查询表引擎 SELECT CONCAT(table_name,' ', engine) FROM information_schema.tables WHERE table_schema="表名" AND ENGINE="MyISAM"; 生成修改sql select CONCAT('alter table ',table_name,' engine=InnoDB;') FROM informa

python paramiko多线程批量修改主机账号密码

#!/usr/bin/env python #-*- coding:utf:8 -*- import paramiko,time,threading def reset_passwd(line): try: test=paramiko.Transport((line.split()[0],22)) test.connect(username='username',password='password') chan=test.open_session() chan.settimeout(5) ch

批量修改数据库中某个字段里面的部分内容(mysql数据库replace的用法)

也就是说在一张表中会有很多内容,如果想要修改某个字段内容里面相同数据的话,比如说公司名称修改了,那么这个字段里面所有出现的公司名称都得修改,如果一条一条修改当然会很麻烦,数据量如果很大,修改起来很不现实,那肯定有类似编辑器里面的替换所有的功能: 更新一个字段里面的部分内容,指的是这个字段里面所有列:比如这个字段第一列里面内容是123asd,第二列是456asdf,想把as换成AS,那么执行下面语句之后会把这两列全都替换了: update 表明 set 字段名=replace(字段名,'替换前内容

批量修改数据库表编码

alter table 表名 convert to character set utf8; 查看数据库所有表: show tables; 利用excel 表格进行语句编程: 原文地址:https://www.cnblogs.com/fanlong0212/p/10939379.html

批量修改域账号密码属性为永不过期

管理员运行命令提示符输入: dsquery user -limit 0 "ou=ouname,dc=域名,dc=com" | dsmod user -pwdneverexpires yes