分类 Linux科技 下的文章

Ubuntu 更新系统导致系统损坏,软件包损坏

一. 更新Ubuntu 系统

Ubuntu 14.04.4 使用 do-release-upgrade 更新到 Ubuntu 16.04.1 的更新

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
do-release-upgrade

阅读全文 >>


MySQL 内存表The table 'pvlogs' is full问题

MySQL 内存表The table 'pvlogs' is full问题

今天收到报错:[ERROR] mysqld: The table 'pvlogs' is full,数据无法写入,影响业务,看到这个错,我首先想到是不是空间满了,查看之后发现是正常的,通过查询和询问同事才知道,原来这个内存引擎的表。

首先理解下内存引擎的概念:

MEMORY存储引擎:

(1)memory存储引擎相比前面的一些存储引擎,有点不一样,其使用存储在内存中的数据来创建表,而且所有的数据也都存储在内存中。
(2)每个基于memory存储引擎的表实际对应一个磁盘文件,该文件的文件名和表名是相同的,类型为.frm。该文件只存储表的结构,而其数据文件,都是存储在内存中,这样有利于对数据的快速处理,提高整个表的处理能力。
(3)memory存储引擎默认使用哈希(HASH)索引,其速度比使用B-+Tree型要快,如果读者希望使用B树型,则在创建的时候可以引用。
(4)memory存储引擎文件数据都存储在内存中,如果mysqld进程发生异常,重启或关闭机器这些数据都会消失。所以memory存储引擎中的表的生命周期很短,一般只使用一次。

阅读全文 >>


搭建NexusPHP PT站

安装准备:

1.服务器最低配置1核1GB RAM 需要IPv6 (Debian 8)
2.Apache 2
3.MySQL
4.PHP 5.6 推荐 ,PHP7 不支持
5.Memcached
6.NexusPHP SourceForge原版: https://sourceforge.net/projects/nexusphp/

科普

Memcache 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度。 MemCaChe是一个存储键值对的HashMap,在内存中对任意的数据(比如字符串、对象等)所使用的key-value存储,数据可以来自数据库调用、API调用,或者页面渲染的结果。MemCache设计理念就是小而强大,它简单的设计促进了快速部署、易于开发并解决面对大规模的数据缓存的许多难题,而所开放的API使得MemCache能用于Java、C/C++/C#、Perl、Python、PHP、Ruby等大部分流行的程序语言。

NexusPHP: 这是NexusPHP由来自浙江大学的Nexus团队发起并开发完成。它的目标是代替TBSource项目,提供一个完整的、有序的、重视用户信誉和知识的资源分享社区的解决方案。
这是一个比较老的BT开源项目,2010年开源的。

阅读全文 >>


SSH原理与运用: 远程登录

一、什么是SSH?

简单说,SSH是一种网络协议,用于计算机之间的加密登录。

如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。

最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。

需要指出的是,SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文针对的实现是OpenSSH,它是自由软件,应用非常广泛。

此外,本文只讨论SSH在Linux Shell中的用法。如果要在Windows系统中使用SSH,会用到另一种软件PuTTY,这需要另文介绍。
8102年 Win 10 系统可以下载内置子系统了,可以使用子系统实现公钥登录

阅读全文 >>


MYSQL 修改数据库和表中的字段编码

建数据库的时候,已经选择了编码格式为UTF-8

但是用PDM生成的脚本导进去的时候却奇怪的发现表和表的字段的编码格式却是GBK,一个一个却又觉得麻烦,在网上找了一下办法
一个是修改表的编码格式的

ALTER TABLE `table` DEFAULT CHARACTER SET utf8;

但是虽然修改了表的编码格式,但是字段的编码格式并没有修改过来,没有什么卵用
又发现一条语句,作用是修改字段的编码格式

ALTER TABLE `tablename` CHANGE `字段名1` `字段名2` VARCHAR(36) CHARACTER SET utf8 NOT NULL;

但是一次只能修改一个字段,还是很麻烦,不方便。
最后找到这么一条语句

alter table `tablename` convert to character set utf8;

它可以修改一张表的所有字段的编码格式,顿时方便多了

阅读全文 >>