创建本地mysql和postgresql数据库详解

前段时间公司让我做一个项目的测试并兼起运维工作,因为政府项目涉及到大量数据数据,且数据库用的是postgresql。

线上环境操作数据时开发提了2点要求:

        1、每日操作前备份数据库数据(操作数据库必备操作之一),以前总是把所有数据备份,几十万条数据每日递增,备份时间越来越长,后来知道只用备份当天操作的数据即可。(题外话)

      2、每日操作前需要先在本地数据库进行备份还原数据进行操作,记录sql,再到线上使用,并做好错误数据记录和sql记录,防止修改出现问题,便于查找。

由于当时第一次接触,在网上现在postgresql安装,一直无法使用,只能想一个折中的办法,在测试环境数据库建立一个项目数据库当作本地数据库使用(无赖之举,也不枉是个好办法)。最终空余时间借鉴网上的很多教程完成本地数据库的安装。现在详细说一说。

安装mysql:(这个比较简单,转载别人的,经过验证,ok的,方便使用)

一、安装地址:https://dev.mysql.com/downloads/mysql/

二、在这里插入图片描述

 在这里插入图片描述

三、安装至d盘

 在这里插入图片描述

四、新增文本改成.ini文件

在创建好的my.ini 文件中把下面代码复制进去,
记住改存储位置(存储路径)

[mysqld]
#设置端口号
port=3306

#设置mysql的安装目录
#切记此处一定要用双斜杠\\
basedir=D:\\shujuku\\mysql-8.0.21-winx64
#设置mysql数据库的数据存放目录
datadir=D:\\shujuku\\mysql-8.0.21-winx64\\data

#允许最大连接数
max_connections=200

#允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10

不管有没data,先写
在这里插入图片描述

五、设置环境变量:

在这里插入图片描述

 六、进入到mysql安装的bin目录下。在搜所栏输入cmd.管理员身份运行cmd
后面涉及到权限问题,win10务必用这个

 1,安装数据库mysqld --install 安装成功后会提示 Services successfully installed;
2,如果提示已经存在则使用mysqld --remove删除之前的,再重新mysqld --install。如过报其他错,自行百度,不会看报错,手机下载有道翻译,拍照翻译。
3,初始化数据库mysqld --initialize 这个命令会自动生成data目录。如果你my.ini文件没填data,不会生成。如过你my.ini文件保存路径填错。会报五六行错.(务必确认路径,可能你的保存路径和我的不同)
4,启动服务net start mysql
在这里插入图片描述

 七:查找密码。此时再以管理员身份开一个cmd(看第九步)
1、mysql -u root -p,登录mysql
2,弹出一个填密码的

 在这里插入图片描述

3、查找密码

在这里插入图片描述

 打开文件,ctrl+f 搜索password就有需要的初始密码。画方框的是密码。

在这里插入图片描述

修改密码
(注意这里用的是英文双引号"")(使用单引号可能出现错误)
1, 此处的密码为原始密码
ALTER USER “root”@“localhost” IDENTIFIED BY “密码” PASSWORD EXPIRE NEVER;
此处的密码为你需要设置的密码
2,ALTER USER “root”@“localhost” IDENTIFIED WITH mysql_native_password BY “密码”;
3,FLUSH PRIVILEGES;
一共三行,一行一行的运行,第一行,密码字体换刚才查找到的密码。第二行,密码字体换你新启的密码,第三行,设置好运行。
在这里插入图片描述

 八、链接Navicat for MySQL数据库,这个软件没的,自己百度下载

 在这里插入图片描述

 在这里插入图片描述

 安装postgresql:(这个网上资源很多但是,找了好几天都没装好,最后自己搞好了)

一、下载PostgreSQL14
访问下面链接下载PostgreSQL14二进制安装包。
Community DL Page
从列表中选择Windows版本14.7
2、在windows10操作系统上安装PostgreSQL数据库
正常安装就好,这些都简单。

说下重点:

1、可以不用安装stack builder。一般用不到,其他正常安装

在这里插入图片描述

2、设置环境变量

  此外将bin目录添加到PATH中

3、启动服务:

以管理员权限启动cmd,执行:

pg_ctl start -D "D:\SoftWare\PostgreSql\data"

 这里可能会报错:

这里我查了一些资料,作了如下处理(没有验证到底是哪个起作用了):

        1.在C盘C:\Program Files下创建 PostgreSQL文件夹(好像没啥用,里面没有生成任何东西,待验证);

        2.输入命令 时在data后加‘\’重新执行:

pg_ctl start -D "D:\SoftWare\PostgreSql\data\"

 

 

4、设置PostgreSQL数据库允许网络用户连接

为了能够让PostgreSQL数据库允许网络连接,我们需要确认你的设置是否正确。需要确认的配置文件是pg_hba.conf
在Window10操作系统下,pg_hba.conf配置文件默认的位置是在安装PostgreSQL\14\data 文件夹下。使用文本编辑器打开它,然后找到如下脚本(一般不用改)

 listen_addresses = '*'
pg_hba.conf文件位于 安装PostgreSQL\14\data目录,再次使用文本编辑器打开它,在文件的末尾添加如下一行脚本:

host    all    all     0.0.0.0/0    md5                    --/0代表所有ip地址都允许访问

 现在所有的完成了可以连接postgresql了

 

我的mysql和postgresql是这样的

 大功告成,如果你觉得有用,点一颗小红星吧

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
数据库中,split函数是用于将字符串按照指定的分隔符进行分割,并返回分割后的字符串数组。在不同的数据库中,该函数的用法可能存在差异。以下是一些常见数据库中split函数的用法: 1. MySQLMySQL中,split函数被称为SUBSTRING_INDEX函数。其语法如下: SUBSTRING_INDEX(str, delim, count) 其中,str为要分割的字符串,delim为分隔符,count为返回的子字符串的数量。如果count为正数,则从左往右取;如果count为负数,则从右往左取。例如: SELECT SUBSTRING_INDEX('a,b,c,d,e', ',', 2); // 返回 'a,b' 2. SQL Server 在SQL Server中,split函数需要自定义。可以使用递归CTE(公共表表达式)来实现。例如: WITH Split(str, start, pos, value) AS ( SELECT str, 1, CHARINDEX(',', str), SUBSTRING(str, 1, CHARINDEX(',', str) - 1) FROM mytable UNION ALL SELECT str, pos + 1, CHARINDEX(',', str, pos + 1), SUBSTRING(str, pos + 1, CHARINDEX(',', str, pos + 1) - pos - 1) FROM Split WHERE pos > 0 ) SELECT value FROM Split WHERE str = 'a,b,c,d,e'; 3. Oracle 在Oracle中,split函数可以使用REGEXP_SUBSTR函数来实现。其语法如下: REGEXP_SUBSTR(str, pattern, start, occurrence) 其中,str为要分割的字符串,pattern为分隔符,start为起始位置,occurrence为要返回的子字符串的序号。例如: SELECT REGEXP_SUBSTR('a,b,c,d,e', '[^,]+', 1, 2) FROM dual; // 返回 'b' 4. PostgreSQLPostgreSQL中,split函数可以使用string_to_array函数来实现。其语法如下: string_to_array(str, delim) 其中,str为要分割的字符串,delim为分隔符。例如: SELECT string_to_array('a,b,c,d,e', ',') FROM mytable; // 返回 '{a,b,c,d,e}'

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值