
数据库
文章平均质量分 66
MySQL、Oracle、PostgreSQL等
王彦清
清心攻读世间文,華年志为天下事。
展开
-
Centos 7 安装 PostgreSQL 10
1.安装存储库yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm2.安装客户端yum install postgresql103.安装服务端yum install postgresql10-server4.验证是否安装成功rpm...原创 2018-03-10 13:58:31 · 727 阅读 · 0 评论 -
Peer authentication failed for user "postgres" 的解决办法
1. Peer authentication 是默认的配置,如果你的计算机用户名和你的postgres数据库名是一样的话,那么就不会出现此错误,不需要为你的数据库设置密码。2. md5 authentication,它需要密码。而我的计算机用户名和我的数据库名不一致,所以需要把Peer authentication改成md5 authentication,然后给数据库设置密码。在哪里改?执行命令:...原创 2018-03-10 15:08:27 · 9869 阅读 · 1 评论 -
PostgreSQL pg_dump&pg_restore数据的备份与恢复
# pg_dump --helppg_dump dumps a database as a text file or to other formats.Usage: pg_dump [OPTION]... [DBNAME] 数据库名放最后,不指定默认是系统变量PGDATABASE指定的数据库。General options:(一般选项) -f, --file=FILENAME ...转载 2018-03-09 14:59:50 · 9234 阅读 · 0 评论 -
Oracle表空间扩容
1 创建表空间SQL> create tablespace my_01 logging datafile '/oracle/app/oradata/mytablespace/my_01.dbf' size 128M;表空间已创建。 在表空间上创建表SQL> create table t1 (id int) tablespace my_01转载 2017-11-28 20:09:59 · 643 阅读 · 0 评论 -
MySQL修改密码
MySQL 5.x方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for root@localhost = password('123'); 方法2:用mysqladmin 格式:mysqla...原创 2018-05-09 17:24:24 · 1291 阅读 · 0 评论 -
Centos 7 安装MySQL 8.0
1、先去MYSQL官网下载mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar,解压如下:mysql-8.0.11-1.el7.x86_64.rpm-bundle.tarmysql-community-client-8.0.11-1.el7.x86_64.rpmmysql-community-common-8.0.11-1.el7.x86_64.rpmmysql-com...原创 2018-05-07 14:57:51 · 449 阅读 · 0 评论 -
ERROR 1010 (HY000): Error dropping database (can't rmdir './test/', errno: 17)
在删除数据库的时候报标题所示错误mysql> drop database test;ERROR 1010 (HY000): Error dropping database (can't rmdir './test/', errno: 17) 问题原因:test目录下存在着MySQL数据库不知道的文件,即MySQL数据库中没有该文件的数据字典信息。如下所示,[root@localhost d...转载 2018-06-13 22:31:22 · 4705 阅读 · 0 评论 -
MySQL建表报Error : Invalid default value for 'timestamp'
环境 :mysql 5.7.16系统:unbutu 14解决方案:1、打开/etc/my.cnf 配置文件在最后添加如下:explicit_defaults_for_timestamp = truesql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION保存,...转载 2018-06-14 13:46:12 · 1683 阅读 · 0 评论 -
Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root
原因: 这是因为在测试的时候,使用root来启动的。而从安全角度来讲,不建议用root用户启动。解决方案:/usr/sbin/mysqld --skip-grant-tables --skip-networking --user=root &...原创 2018-08-05 13:52:18 · 9217 阅读 · 1 评论 -
MySQL create database 指定utf-8编码
如下脚本创建数据库yourdbname,并制定默认的字符集是utf8。CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;如果要创建默认gbk字符集的数据库可以用下面的sql:create database yourdb DEFAULT CHARACTER SET g...原创 2018-08-15 13:24:42 · 72012 阅读 · 0 评论 -
MySQL重要指令
\c终止当前正在输入的指令如果提示符变成 '> 或 ">,说明引号未封闭,此时输入任何指令都会被忽略,包括quit。应该先输入一个引号,再输入指令。show create table table_name;可以显示表格的详细信息,包括约束。describe table_name;显示表格的样式如果查询条件是不等于null,应该用XXX is not null 而不是 XXX!=...转载 2018-10-19 05:28:08 · 220 阅读 · 0 评论 -
Mac下使用mysql控制台命令行
命令行中输入open .bash_profile然后将alias mysql=/usr/local/mysql/bin/mysqlalias mysqladmin=/usr/local/mysql/bin/mysqladmin追加到最后面,如果文件不存在,自己创建一个就可以了然后保存然后输入source .bash_profile最后就能使用mysql来使用she...转载 2018-11-25 21:52:21 · 615 阅读 · 0 评论 -
MySQL主从复制
MySQL之间数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”的方式记录在二进制日志中,其他数据库作为slave通过一个I/O线程与主服务器保持通信,并监控master的二进制日志文件的变化,如果发现master二进制日志文件发生变化,则会把变化复制到自己的中继日志中,然后slave的...转载 2018-05-09 17:17:51 · 196 阅读 · 0 评论 -
MySQL使用Mycat实现读写分离
一,Mycat下载 http://www.mycat.io/是Mycat的官方网站,到这个网站可以进行Mycat的下载,在官网还可以下载《Mycat权威指南》pdf的电子档,下载Mycat的源码。目前最新稳定的Mycat版本是Mycat1.6, Mycat有window,linux,unix,mac平台对应的版本,我这里也使用下载的是window下的1.6版本来实现读写分离。进行读写...转载 2018-05-09 17:10:05 · 667 阅读 · 0 评论 -
MySQL表名忽略大小写问题
因为linux下mysql默认是要区分表名大小写的。mysql是否区分大小写设置是由参数lower_case_table_names决定的,其中:1)lower_case_table_names = 0 区分大小写(即对大小写不敏感),默认是这种设置。这样设置后,在mysql里创建的表名带不带大写字母都没有影响,都可以正常读出和被引用。mysql> show variables like "...转载 2018-02-09 18:43:15 · 4403 阅读 · 0 评论 -
打开MySQL数据库远程访问的权限
在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库。缺省状态下,mysql的用户没有远程访问的权限。下面介绍两种方法,解决这一问题。1、改表法 可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从原创 2017-09-29 16:59:24 · 3383 阅读 · 0 评论 -
更改MySQL数据库目录位置具体操作
由于MySQL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的目录,本文整理了一些MySQL从/var/lib/mysql目录下面转移到/home/mysql_data/mysql目录的具体操作,感兴趣的你可不要走开啊引言: 由于MySQL的数据库太大,默认安装的/var盘已经再也无法容纳新增加的数据,没有办法,只能想办法转移数据的原创 2017-09-29 17:47:11 · 219 阅读 · 0 评论 -
MySQL ibdata1文件太大如何缩小
MySql innodb如果是共享表空间,ibdata1文件越来越大,达到了30多个G,对一些没用的表进行清空:truncate table xxx;然后optimize table xxx; 没有效果因为对共享表空间不起作用。mysql ibdata1存放数据,索引等,是MYSQL的最主要的数据。如果不把数据分开存放的话,这个文件的大小很容易就上了G,甚至几十G。原创 2017-09-29 17:48:17 · 1976 阅读 · 0 评论 -
赶集MySQL军规
赶集网mysql开发36军规写在前面的话:总是在灾难发生后,才想起容灾的重要性;总是在吃过亏后,才记得曾经有人提醒过。(一)核心军规(1)不在数据库做运算:cpu计算务必移至业务层(2)控制单表数据量:单表记录控制在1000w(3)控制列数量:字段数控制在20以内(4)平衡范式与冗余:为提高效率牺牲范式设计,冗余数据(5)拒绝3B:拒绝大转载 2017-09-29 18:00:48 · 204 阅读 · 0 评论 -
on和where的区别
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left jion时,on和where条件的区别如下:1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了转载 2017-11-28 19:51:12 · 362 阅读 · 0 评论 -
on、where、having的区别
on、where、having这三个都可以加条件的子句中,on是最先执行,where次之,having最后。有时候如果这先后顺序不影响中间结果的话,那最终结果是相同的。但因为on是先把不符合条件的记录过滤后才进行统计,它就可以减少中间运算要处理的数据,按理说应该速度是最快的。 根据上面的分析,可以知道where也应该比having快点的,因为它过滤数据后才进行sum,所以转载 2017-11-28 19:52:55 · 255 阅读 · 0 评论 -
MySQL索引总结
关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。还是以WordPress来说,其多个数据表都会对经常被查询的字段添加索引,比如wp_comments表中针对5个字段设计了BTR转载 2017-11-28 20:20:13 · 105 阅读 · 0 评论 -
inner join和outer join的区别
假设你要join两个没有重复列的表,这是最常见的情况:inner join A 和 B 获得的是A和B的交集(intersect),即韦恩图(venn diagram) 相交的部分.outer join A和B获得的是A和B的并集(union), 即韦恩图(venn diagram)的所有部分.示例假定有两张表,每张表只有一列,列数据如转载 2017-11-29 09:12:13 · 16396 阅读 · 2 评论 -
聚簇索引与非聚簇索引的区别
通常情况下,建立索引是加快查询速度的有效手段。但索引不是万能的,靠索引并不能实现对所有数据的快速存取。事实上,如果索引策略和数据检索需求严重不符的话,建立索引反而会降低查询性能。因此在实际使用当中,应该充分考虑到索引的开销,包括磁盘空间的开销及处理开销(如资源竞争和加锁)。例如,如果数据频繁的更新或删加,就不宜建立索引。 本文简要讨论一下聚簇索引的特点及其与非聚簇索引的区别。转载 2017-11-29 10:13:36 · 207 阅读 · 0 评论 -
win10环境下安装配置mysql-5.7.17-winx64免安装版
1.解压到自定义目录:我解压到了D盘的根目录2.复制my-default.ini 重命名 my.ini 配置如下:[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysqld]#安装目录basedir = D:\mysql-5.7.17-winx64#数据存放目录 data目录是要单独创建的,原创 2017-12-19 09:13:43 · 441 阅读 · 0 评论 -
MySQL中Invalid default value for '0000-00-00 00:00:00'问题
CREATE TABLE `advert_schedule` ( `advert_id` int(11) NOT NULL DEFAULT '0' COMMENT '广告id', `stime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '开始时间', `etime` timestamp NOT NULL DEFA...原创 2018-02-09 00:03:43 · 4526 阅读 · 0 评论 -
数据库中的Sequence
Sequence是数据库系统按照一定规则自动增加的数字序列。这个序列一般作为代理主键(因为不会重复),没有其他任何意义。Sequence是数据库系统的特性,有的数据库有Sequence,有的没有。比如Oracle、DB2、PostgreSQL数据库有Sequence,MySQL、SQL Server、Sybase等数据库没有Sequence。根据我个人理解,Sequence是数据中一个转载 2017-09-29 22:56:44 · 1776 阅读 · 0 评论