关于postgres数据库
提示说什么不能连接到postgres 数据库 错误:在Administrator这个用户的 密码验证失败!! 你最好有图形界面登录上去 才行下面是一个例子: 希望可以帮你吧 在linux系统中创建postgres数据库- - 下面是创建数据库的例子和说明,数据库名为TestDB 1. in command line: 以postgres用户登录: #su - postgres 2.初始化数据库: $initdb 3.修改/var/lib/pgsql/data目录下的pg_hba.conf和postgresql.conf: 1)pg_hba.conf 将# IPv4-style local connections下面的内容换成: # IPv4-style local connections: host all all 127.0.0.1 255.255.255.255 trust host all all 0.0.0.0 0.0.0.0 trust 2)postgresql.conf 将tcpip_socket 及max_connections改成: tcpip_socket = true #采用tcpip连接的方式 max_connections = 100 #最大连结数 4.在service列表里,重新启动postgresql 5. 创建数据库TestDB,使用unicode编码 $createdb -E unicode -e TestDB 6.导入数据库表结构和数据(事先准备好sql文件output.sql) $psql TestDB ok,导入完毕,然后使用pgadmin3客户端工具即可访问, 数据库名为TestDB, 用户名为postgres,密码为postgres,也可以不要密码。
如果Linux安装了防火墙,请到security level画面去禁止防火墙,以便客户端可以访问. 如果要导出表结构及数据,请使用命令: pg_dump -d -f output.sql TestDB -h 192.168.0.1 -U postgres -P postgres 其中TestDB为数据库名称, 192.168.0.1为数据库服务器IP地址, postgres分别为数据库用户和密码 另外,如果有sql文件如output.sql需要事先从usb盘拷贝到linux,请参照如下步骤装载usb: 1.察看Linux是否已经正确安装usb驱动程序; 2.运行 fdisk -l /dev/sda 看系统是否能找到usb盘 3.创建usb目录 #mkdir /mnt/usb 4.装载usb设备 #mount -t msdos /dev/sda1 /mnt/usb 如果您的文件系统为fat32,则使用: #mount -t vfat /dev/sda1 /mnt/usb 5.查看usb存储器中的文件: ls /mnt/usb
如何重置postgresql用户密码
1. 修改PostgreSQL数据库默认用户postgres的密码PostgreSQL数据库创建一个postgres用户作为数据库的管理员,密码随机,所以需要修改密码,方式如下:步骤一:登录PostgreSQL1sudo -u postgres psql步骤二:修改登录PostgreSQL密码1ALTER USER postgres WITH PASSWORD 'postgres';注:密码postgres要用引号引起来命令最后有分号步骤三:退出PostgreSQL客户端\q
有人攻击我的3389端口我怎么查询他的IP
ipconfig /all 口令 3389是远程控制的端口 经常被黑客利用,如果你不搞什么远程连接 建议关掉 利用系统自带防火墙关闭端口(适用系统WinXP/Server 2003) 微软推出WinXP之后的操作系统本身都自带防火墙,用它就可以关闭掉不需要的端口,实现的步骤也很简单。
具体设置:“控制面板”→“本地连接”→“高级”,把“Inernet连接防火墙”下面的选项勾选上,如图所示,然后点击“设置”,出现如图所示窗口。
假设我们要关闭135端口(所有使用Win2000或者是WinXP的用户马上关闭135端口,因为最新的漏洞可以利用这个端口攻击服务器获取权限),135端口用于启动与远程计算机的RPC连接。
我们可以在“高级设置”窗口的“服务”选项卡中点击“添加”按钮,。
在“服务设置”对话框中把各项按图中所示填写好之后一路确定就可以了。
这样防火墙就自动启动了,启动以后“本地连接”图标会出现一个可爱的小锁头。
以上就是利用系统本身自带防火墙关闭端口的方法。
当然了,有条件的朋友还可以使用第三方防火墙来关闭端口。
====================== 找点东西给你 ====================== 注意:由于一些应用软件占用了部分端口,因此此文件中的部分端口被注释掉了(注释的字符为://)。
TCP 1=TCP Port Service Multiplexer TCP 2=Death TCP 5=Remote Job Entry,yoyo TCP 7=Echo TCP 11=Skun TCP 12=Bomber TCP 16=Skun TCP 17=Skun TCP 18=消息传输协议,skun TCP 19=Skun TCP 20=FTP Data,Amanda TCP 21=文件传输,Back Construction,Blade Runner,Doly Trojan,Fore,FTP trojan,Invisible FTP,Larva, WebEx,WinCrash TCP 22=远程登录协议 TCP 23=远程登录(Telnet),Tiny Telnet Server (= TTS) TCP 25=电子邮件(SMTP),Ajan,Antigen,Email Password Sender,Happy 99,Kuang2,ProMail trojan,Shtrilitz,Stealth,Tapiras,Terminator,WinPC,WinSpy,Haebu Coceda TCP 27=Assasin TCP 28=Amanda TCP 29=MSG ICP TCP 30=Agent 40421 TCP 31=Agent 31,Hackers Paradise,Masters Paradise,Agent 40421 TCP 37=Time,ADM worm TCP 39=SubSARI TCP 41=DeepThroat,Foreplay TCP 42=Host Name Server TCP 43=WHOIS TCP 44=Arctic TCP 48=DRAT TCP 49=主机登录协议 TCP 50=DRAT TCP 51=IMP Logical Address Maintenance,Fuck Lamers Backdoor TCP 52=MuSka52,Skun TCP 53=DNS,Bonk (DOS Exploit) TCP 54=MuSka52 TCP 58=DMSetup TCP 59=DMSetup TCP 63=whois++ TCP 64=Communications Integrator TCP 65=TACACS-Database Service TCP 66=Oracle SQL*NET,AL-Bareki TCP 67=Bootstrap Protocol Server TCP 68=Bootstrap Protocol Client TCP 69=W32.Evala.Worm,BackGate Kit,Nimda,Pasana,Storm,Storm worm,Theef,Worm.Cycle.a TCP 70=Gopher服务,ADM worm TCP 79=用户查询(Finger),Firehotcker,ADM worm TCP 80=超文本服务器(Http),Executor,RingZero TCP 81=Chubo,Worm.Bbeagle.q TCP 82=Netsky-Z TCP 88=Kerberos krb5服务 TCP 99=Hidden Port TCP 102=消息传输代理 TCP 108=SNA网关访问服务器 TCP 109=Pop2 TCP 110=电子邮件(Pop3),ProMail TCP 113=Kazimas, Auther Idnet TCP 115=简单文件传输协议 TCP 118=SQL Services, Infector 1.4.2 TCP 119=新闻组传输协议(Newsgroup(Nntp)), Happy 99 TCP 121=JammerKiller, Bo jammerkillah TCP 123=网络时间协议(NTP),Net Controller TCP 129=Password Generator Protocol TCP 133=Infector 1.x TCP 135=微软DCE RPC end-point mapper服务 TCP 137=微软Netbios Name服务(网上邻居传输文件使用) TCP 138=微软Netbios Name服务(网上邻居传输文件使用) TCP 139=微软Netbios Name服务(用于文件及打印机共享) TCP 142=NetTaxi TCP 143=IMAP TCP 146=FC Infector,Infector TCP 150=NetBIOS Session Service TCP 156=SQL服务器 TCP 161=Snmp TCP 162=Snmp-Trap TCP 170=A-Trojan TCP 177=X Display管理控制协议 TCP 179=Border网关协议(BGP) TCP 190=网关访问控制协议(GACP) TCP 194=Irc TCP 197=目录定位服务(DLS) TCP 256=Nirvana TCP 315=The Invasor TCP 371=ClearCase版本管理软件 TCP 389=Lightweight Directory Access Protocol (LDAP) TCP 396=Novell Netware over IP TCP 420=Breach TCP 421=TCP Wrappers TCP 443=安全服务 TCP 444=Simple Network Paging Protocol(SNPP) TCP 445=Microsoft-DS TCP 455=Fatal Connections TCP 456=Hackers paradise,FuseSpark TCP 458=苹果公司QuickTime TCP 513=Grlogin TCP 514=RPC Backdoor TCP 531=Rasmin,Net666 TCP 544=kerberos kshell TCP 546=DHCP Client TCP 547=DHCP Server TCP 548=Macintosh文件服务 TCP 555=Ini-Killer,Phase Zero,Stealth Spy TCP 569=MSN TCP 605=SecretService TCP 606=Noknok8 TCP 661=Noknok8 TCP 666=Attack FTP,Satanz Backdoor,Back Construction,Dark ...
Fatal error: Call to a member function fetch
Fatal error: Call to a member function fetch_row() on a non-object严重错误:调用fetch_row()的不是一个对象。
出现这种错误,建议检查$result_news = $mysqli->query ( $query_news );看这句代码执行后,得到的结果是否正确,即看 $result_news 是不是一个对象,可以用以下代码查看:print_r($result_news);正确的结果应该是类似下面的:mysqli_result Object ( [current_field] => 0 [field_count] => 8 [lengths] => [num_rows] => 1 [type] => 0 )
Warning: mysqli
即然你是用类封装mysql操作,那应该把所有操作都放到类中!如果实在要这么做, 那给你改一下试试行不行class mysqlis{ private $host; private $name; private $pass; private $sqlname; public $Conn; function __construct($host,$name,$password,$sqlname){ $this->host=$host; $this->name=$name; $this->pass=$pass; $this->sqlname=$sqlname; $this->connect(); } function connect(){ $this -> Conn = mysqli_connect($this->host,$this->name,$this->pass,$this->sqlname) or die("数据库连接错误"); } } $mysql=new mysqlis("localhost","dafddf","dfdfgfg","test"); $sql="select * from archives where title like '%说说%'"; $query=mysqli_query($mysql -> Conn, $sql);?>你这出现错误, 是因为, msyqli_query()函数的第一个参数, 必须是msyqli_connect()函数操作成功后返回的数据库连接标识, 很明显, 你这个$msyql只是实例化后的class mysqlis这个类本身, 并不是数据库连接返回的标识, 那当然无法query查询!mysqli比不msyql函数, mysql函数是可以省略数据库连接标识的, 默认为上一个连接, 而mysqli函数不行, 必须提供这个参数!...
PHP高手请帮忙:致命错误Fatal error: Call to undefined function var
如果你指的是psql,那么在进入psql后,输入:create table aaa (username varchar(50) NOT NULL,password varchar(50) NOT NULL,gender int default 0,...其它字段,lastvisit timestamp(0) WITHOUT TIME ZONE);就可以创建名为aaa的表了。
进入之后就按照上述格式输入,每行后回车,每个结束以);结束,结束前的字段不要带有,号。
你的变量你自己设计大小写,保留字大小写无所谓,建议大写。
如何在Ubuntu下安装Metasploit
回收没有用(废弃)的连接(默认为 300秒;com.alibaba.external jakarta.commons.dbcpversion>1.4<://b; :超过removeAbandonedTimeout时间后,是否进 行没用连接(废弃)的回收(默认为false,调整为true)removeAbandoned参数解释: 如果开启了removeAbandoned,当getNumIdle() getMaxActive() - 3)时被触发;removeAbandonedTimeout":连接池中连接,在时间段内一直空闲, 被逐出连接池的时间(默认为30分钟,因为在机器很空闲的时候://b.但是活动连接只有在没有被使用的时间超 过"/version>,自己根据应用场景定)maxIdle,低于这个数量会被创建新的连接(默认为0;:最大等待时间:连接池中最小的空闲的连接数,因为连接的创建和销毁,都是需要消耗资源的;但是不能太大: 基本配置代码 <,超过该时间限制会抛出异常,如果设置-1表示无限等待(默认为无限;<://c; 。
以前遇到过后端存储过程做了锁表操作,后续的业务处理因为拿不到链接所有都处理失败了。
一份优化过的配置.baidu; . 引入dbcp (选择1.4) Java代码 xxxx xxxxx 20 1 60000 20 3 true 180 clientEncoding=GBK 2. dbcp的链接validate配置 dbcp是采用了commons-pool做为其连接池管理,testOnBorrow,testOnReturn, testWhileIdle是pool是提供的几种校验机制,通过外部钩子的方式回调dbcp的相关数据库链接(validationQuery)校验dbcp相关外部钩子类:PoolableConnectionFactory,继承于common-pool PoolableObjectFactorydbcp通过GenericObjectPool这一入口,进行连接池的borrow,return处理testOnBorrow : 顾明思义,就是在进行borrowObject进行处理时,对拿到的connection进行validateObject校验testOnReturn : 顾明思义,就是在进行returnObject对返回的connection进行validateObject校验,个人觉得对数据库连接池的管理意义不大testWhileIdle : 关注的重点,GenericObjectPool中针对pool管理,起了一个Evict的TimerTask定时线程进行控制(可通过设置参数timeBetweenEvictionRunsMillis>0),定时对线程池中的链接进行validateObject校验,对无效的链接进行关闭后,会调用ensureMinIdle,适当建立链接保证最小的minIdle连接数。
timeBetweenEvictionRunsMillis,设置的Evict线程的时间,单位ms,大于0才会开启evict检查线程validateQuery, 代表检查的sqlvalidateQueryTimeout, 代表在执行检查时,通过statement设置,statement.setQueryTimeout(validationQueryTimeout)numTestsPerEvictionRun,代表每次检查链接的数量,建议设置和maxActive一样大,这样每次可以有效检查所有的链接.Validate配置代码 true false false select sysdate from dual 1 30000 20 相关配置需求: 目前网站的应用大部分的瓶颈还是在I/O这一块,大部分的I/O还是在数据库的这一层面上,每一个请求可能会调用10来次SQL查询,如果不走事务,一个请求会重复获取链接,如果每次获取链接都进行validateObject,性能开销不是很能接受,可以假定一次SQL操作消毫0.5~1ms(一般走了网络请求基本就这数)网站异常数据库重启,网络异常断开的频率是非...
mysql和mysqli的区别
一: PHP-MySQL 是 PHP 操作 MySQL 资料库最原始的 Extension ,PHP-MySQLi 的 i 代表 Improvement ,提更了相对进阶的功能,就 Extension 而言,本身也增加了安全性。
而 PDO (PHP Data Object) 则是提供了一个 Abstraction Layer 来操作资料库,用讲的其实看不出来有有什麽差别,所以就直接看程式吧… 首先,先来看一段用 PHP-MySQL 写成的程式码,这类的范例常用在世界各地: 复制代码代码如下:mysql_connect($db_host, $db_user, $db_password); mysql_select_db($dn_name); $result = mysql_query("SELECT `name` FROM `users` WHERE `location` = '$location'"); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo $row['name']; } mysql_free_result($result); ?> 乍看之下没什麽问题,但其实背后有些学问… 这种方式不能 Bind Column ,以前例的 SQL 叙述来说,$location 的地方容易被 SQL Injection。
后来于是发展出了 mysql_escape_string() (备注:5.3.0之后弃用) 以及 mysql_real_escape_string() 来解决这个问题,不过这麽一搞,整个叙述会变得复杂且丑陋,而且如果栏位多了,可以想见会是怎样的情形… 复制代码代码如下:$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'", mysql_real_escape_string($user), mysql_real_escape_string($password)); mysql_query($query); ?> 在 PHP-MySQLi 中有了不少进步,除了透过 Bind Column 来解决上述问题,而且也多援 Transaction, Multi Query ,并且同时提供了 Object oriented style (下面这段 PHP-MySQLi 范例的写法) 和 Procedural style (上面 PHP-MySQL 范例的写法)两种写法…等等。
复制代码代码如下:$mysqli = new mysqli($db_host, $db_user, $db_password, $db_name); $sql = "INSERT INTO `users` (id, name, gender, location) VALUES (?, ?, ?, ?)"; $stmt = $mysqli->prepare($sql); $stmt->bind_param('dsss', $source_id, $source_name, $source_gender, $source_location); $stmt->execute(); $stmt->bind_result($id, $name, $gender, $location); while ($stmt->fetch()) { echo $id . $name . $gender . $location; } $stmt->close(); $mysqli->close(); ?> 但看到这边又发现了一些缺点,例如得 Bind Result,这个就有点多馀,不过这其实无关紧要,因为最大的问题还是在于这不是一个抽象(Abstraction)的方法,所以当后端更换资料库的时候,就是痛苦的开始… 于是 PDO 就出现了(备注:目前 Ubuntu 和 Debian 来说,PDO 并没有直接的套件可以安装,而是必须透过 PECL 安装)。
复制代码代码如下:roga@carlisten-lx:~$ pecl search pdo ======================================= Package Stable/(Latest) Local PDO 1.0.3 (stable) PHP Data Objects Interface. PDO_4D 0.3 (beta) PDO driver for 4D-SQL database PDO_DBLIB 1.0 (stable) FreeTDS/Sybase/MSSQL driver for PDO PDO_FIREBIRD 0.2 (beta) Firebird/InterBase 6 driver for PDO PDO_IBM 1.3.2 (stable) PDO driver for IBM databases PDO_INFORMIX 1.2.6 (stable) PDO driver for IBM Informix INFORMIX databases PDO_MYSQL 1.0.2 (stable) MySQL driver for PDO PDO_OCI 1.0 (stable) Oracle Call Interface driver for PDO PDO_ODBC 1.0.1 (stable) ODBC v3 Interface driver for PDO PDO_PGSQL 1.0.2 (stable) PostgreSQL driver for PDO PDO_SQLITE 1.0.1 (stable) SQLite v3 Interface driver for PDO pdo_user 0.3.0 (beta) Userspace driver for PDO 当透过 PECL 安装装好后,就可以透过以下方式来操作资料库: 复制代码代码如下:$dsn = "mysql:host=$db_host;dbname=$db_name"; $dbh = new PDO($dsn, $db_user, $db_password); $sql = "SELECT `name`, `location` FROM `users` WHERE `location` = ? , `name` = ?"; $sth = $dbh->prepare($sql); $sth->execute(array($location, $name)); $result = $sth->fetch(PDO::FETCH_OBJ); echo $result->name . $result->location; $dbh = NULL; ?> 乍看之下,PDO 的程式码好像也没有比较短,那到底好处是什麽呢? 1. PDO 连接资料库时透过 Connection String 来决定连接何种资料库。
2. PDO 可以透过 PDO::setAttribute 来决定连线时的设定,像是 Persistent Connection, 回传错误的方式(Exception, E_WARNING, NULL)。
甚至是回传栏位名称的大小写…等等。
2. PDO 支援 Bind Column 的功能,除了基本的 Prepare, Execute 以外,也可以 Bind 单一栏位,并且指定栏位型态。
4. PDO 是 Abstraction Layer 所以就算更换储存媒介,需要花的功夫比起来是最少的。
可惜的是,尽管这些东西都已经出现很久了,但还是不够大众化。
我想或许是肇因于大家习惯看坊间的书籍学习,但那些书本往往只会介绍最简单最传统的方式。
导致很多人还是在用 MySQL 这种方直接连资料库。
不过,目前来说我个人还是最喜爱透过 DBI 来连接资料库,像是 ActiveRecord 以及 Propel ORM(Object-Relational Mapping)。
例如说以 ActiveRecord 为例,如果要实现这样的 SQL...
转载请注明出处51数据库 » psql fatal password