使用Percona安装tokudb存储引擎

由分形树索引支持的PerconaTokuDB®是一款开源的,用于Percona Server的高性能存储引擎,可提高可扩展性和运行效率。专为满足大数据应用的苛刻要求而设计,Percona TokuDB降低了与压缩和优化工作相关的部署成本。Percona TokuDB和Percona HotBackup包含在下面的Percona Server for MySQL 下载链接中。

快速和可扩展性:

Percona TokuDB极大地提高了性能和并发性,减少了磁盘和闪存驱动器存储需求,支持在线模式更改并支持完全符合ACID的事务

Percona TokuDB可以:

  • 更好的性能:如果不进行调整,响应时间比InnoDB快20倍
  • 更强的投资回报率:运营和基础设施成本更低,可扩展性和灵活性更高
  • 可用性更高:在公共,私人和混合云环境中对苛刻应用的停机时间更少

1.安装percona官方RPM源

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

2.测试Percona源

yum list | grep percona

3.yum安装percona

yum install Percona-Server-server-57

4.Percona默认管理命令

service mysql start 
service mysql restart 
service mysql stop 
service mysql status

5.查询安装后的临时percona root密码

grep ‘temporary password’ /var/log/mysqld.log

6.修改数据库密码

mysql -u root -p
Enter password:yourpasswd
elcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 92
Server version: 5.7.21-21-log Percona Server (GPL), Release 21, Revision 2a37e4e

Copyright (c) 2009-2018 Percona LLC and/or its affiliates
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Percona [(none)]> set password=password(‘yournewpasswd’);

mysql有密码安全机制,注意设置为足够复杂的密码

7.编辑/etc/mycnf配置文件,修改mysql默认编码

[mysqld] 
character_set_server=utf8

8.安装jemalloc

yum install jemalloc 
rpm -qa |grep jemalloc 
rpm -qa |grep jemalloc 
jemalloc-3.6.0-1.el7.x86_64
rpm -ql jemalloc-3.6.0-1.el7.x86_64
/usr/bin/jemalloc.sh
/usr/lib64/libjemalloc.so.1
/usr/share/doc/jemalloc-3.6.0
/usr/share/doc/jemalloc-3.6.0/COPYING
/usr/share/doc/jemalloc-3.6.0/README
/usr/share/doc/jemalloc-3.6.0/VERSION
/usr/share/doc/jemalloc-3.6.0/jemalloc.html

记录下/usr/lib64/libjemalloc.so.1地址

9.配置jemalloc依赖文件,编辑/etc/my.cnf,其中加入以下内容:

[mysqld_safe] 
malloc-lib=/usr/lib64/libjemalloc.so.1

10.检查Transparent huge pages

echo never > /sys/kernel/mm/transparent_hugepage/enabled 
echo never > /sys/kernel/mm/transparent_hugepage/defrag

11.安装tokudb

yum install Percona-Server-tokudb-57.x86_64

12.修改selinux状态为permissive,编辑编辑/etc/selinux/config修改以下内容:

selinux=permissive
setenforce 0

12.初始设置tokudb

ps_tokudb_admin --enable -uroot -p

输入密码,检查是否成功

13.重启percona

service mysql restart

14.检查确认是否启用tokudb

mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 94
Server version: 5.7.21-21-log Percona Server (GPL), Release 21, Revision 2a37e4e

Copyright (c) 2009-2018 Percona LLC and/or its affiliates
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Percona [(none)]> show engines;
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                                    | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                                         | NO           | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                                      | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                                         | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears)             | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                                      | NO           | NO   | NO         |
| TokuDB             | DEFAULT | Percona TokuDB Storage Engine with Fractal Tree(tm) Technology             | YES          | YES  | YES        |
| InnoDB             | YES     | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| ARCHIVE            | YES     | Archive storage engine                                                     | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables                  | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                             | NULL         | NULL | NULL       |
+--------------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
10 rows in set (0.07 sec)

看到tokudb即为成功。

phpmyadmin与php.ini中的socket配置问题

昨天在安装完新的perconesql数据后,发现phpmyadmin不能正常连接了。一时查来查去不知出了什么问题。

后来经过确认,由于php.ini中的mysqli.default_socket和pdo_mysql.default_socke默认为空,实际默认即为/tmp/mysql.sock,此时如果和mysql本身的设置不一致,就会导致phpmyadmin无法有效登录。

我们先查询mysql服务器使用的socket位置:

# mysql -u root -p
Enter password: yourpasswd
mysql> STATUS;
--------------
mysql  Ver 14.14 Distrib 5.7.21-21, for Linux (x86_64) using  6.2

Connection id:		2
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.7.21-21 Percona Server (GPL), Release 21, Revision 2a37e4e
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8
Db     characterset:	utf8
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:			26 min 14 sec

Threads: 1  Questions: 5  Slow queries: 0  Opens: 105  Flush tables: 1  Open tables: 98  Queries per second avg: 0.003
--------------

mysql> exit
Bye

上面命令中查询到的socket地址为/var/lib/mysql/mysql.sock

修改php.ini文件中的两项:

vi  /etc/php.ini


mysqli.default_socket = /var/lib/mysql/mysql.sock 



pdo_mysql.default_socket = /var/lib/mysql/mysql.so

你也可以设置mysql配置文件my.cnf

vi /etc/my.cnf

[client]
socket          = /var/lib/mysql/mysql.sock

[mysqld]
socket          = /var/lib/mysql/mysql.sock

至此,重启php或httpd就可以登录phpmyadmin

为了“IPv6行动计划”落地,工信部推出21项举措

为贯彻落实《推进互联网协议第六版(IPv6)规模部署行动计划》,工业和信息化部将采取实施LTE网络端到端IPv6改造、加快固定网络基础设施IPv6改造、推进应用基础设施IPv6改造、开展政府网站IPv6改造与工业互联网IPv6应用、强化网络安全保障、落实配套保障措施等六方面二十一项举措。

工业和信息化部

关于贯彻落实《推进互联网协议第六版(IPv6)规模部署行动计划》的通知

工信部通信〔2018〕77号

各省、自治区、直辖市及计划单列市、新疆生产建设兵团工业和信息化主管部门,各省、自治区、直辖市通信管理局,部属各单位、部属各高校,中国电信集团有限公司、中国移动通信集团有限公司、中国联合网络通信集团有限公司,中国广播电视网络有限公司,阿里巴巴(中国)有限公司、深圳市腾讯计算机系统有限公司、百度在线网络技术(北京)有限公司、北京京东世纪信息技术有限公司、北京金山云网络技术有限公司、网宿科技股份有限公司、北京蓝汛通信技术有限责任公司、上海帝联信息科技发展有限公司、华为技术有限公司、广东欧珀移动通信有限公司、维沃移动通信有限公司、北京小米科技有限责任公司、魅族科技有限公司、上海优刻得信息科技有限公司、无锡华云数据技术服务有限公司、北京迅达云成科技有限公司、北京优帆科技有限公司、中山大学、东网科技有限公司、大连东软思维科技发展有限公司、宁夏誉成云创数据投资有限公司、蓝汛欣润科技(北京)有限公司、贵阳中电高新数据科技有限公司、贵阳综合保税区大数据科技有限公司、润泽科技 发展有限公司、武汉火凤凰云计算服务股份有限公司、湖南尚锐信息科技有限公司、启明信息技术股份有限公司、大连亿达名气通数据服务有限公司、沈阳铁路局、万国数据服务有限公司、成都中立数据科技有限公司、光环云谷科技有限公司、张北云联数据服务有限责任公司、上海数据港股份有限公司、阿里云计算有限公司(万网)、北京新网互联软件服务有限公司、中国互联网信息中心(CNNIC)、政府和公益机构域名注册管理中心(CONAC)、成都西维数码科技有限公司、厦门三五互联科技股份有限公司、厦门易名科技股份有限公司、江苏邦宁科技有限公司、浙江贰贰网络有限公司、佛山市亿动网络有限公司、厦门商中在线科技股份有限公司、广东时代互联科技有限公司:

为贯彻落实中共中央办公厅、国务院办公厅印发的《推进互联网协议第六版(IPv6)规模部署行动计划》(厅字〔2017〕47号,以下简称《行动计划》),加快网络基础设施和应用基础设施升级步伐,促进下一代互联网与经济社会各领域的融合创新,现就涉及我部相关任务的组织实施工作通知如下。

一、实施LTE网络端到端IPv6改造

(一)LTE网络IPv6改造。到2018年末,基础电信企业完成全国范围LTE核心网、接入网、承载网、业务运营支撑系统等IPv6改造并开启IPv6业务承载功能,为移动终端用户数据业务分配IPv6地址,提供端到端的IPv6访问通道。

(二)基础电信企业自营业务系统IPv6改造。到2018年末,基础电信企业完成门户网站、网上营业厅网站IPv6改造,并完成活跃用户规模排名前10位的自营移动互联网应用(APP)及相应系统服务器IPv6升级改造,使移动互联网应用(APP)支持IPv6访问优先;通过免流量升级等推广措施,引导用户完成移动互联网应用(APP)更新。

到2018年末,移动互联网IPv6用户规模不少于5000万户(基础电信企业已分配IPv6地址且一年内有IPv6上网记录的用户),其中,中国电信集团有限公司(简称中国电信)用户不少于1000万户,中国移动通信集团有限公司(简称中国移动)用户不少于3000万户,中国联合网络通信集团有限公司(简称中国联通)用户不少于1000万户。

(三)移动终端全面支持IPv6。推动新生产移动终端的出厂默认配置支持IPv4/IPv6双栈,并逐步推进存量移动终端通过系统软件升级开启IPv6功能。基础电信企业定制和集中采购的移动终端应全面支持IPv6。

(四)基础电信企业间网络与应用IPv6互通。到2019年第一季度末,各基础电信企业均完成LTE网络与其他基础电信企业用户规模排名前10位的移动互联网应用系统服务器互通,实现已选定的30个移动互联网应用(APP)IPv6跨网访问。

二、加快固定网络基础设施IPv6改造

(五)骨干网IPv6互联互通。到2018年末,完成北京、上海、广州、郑州、成都的互联网骨干直联点IPv6改造,开通IPv6网间互联带宽不少于1Tbps。到2020年末,完成所有互联网骨干直联点IPv6改造,开通IPv6网间互联带宽不少于5Tbps。

(六)城域网和接入网IPv6改造。到2018年末,基础电信企业完成城域网和接入网IPv6改造并开启IPv6业务承载功能,为固定宽带用户分配IPv6地址,向政企客户提供基于IPv6的专线业务,并出台相应的资费优惠措施。

(七)固定终端全面支持IPv6。推动新生产的家庭网关、企业网关、路由器等固定终端支持IPv6并默认配置支持IPv4/IPv6双栈,基础电信企业定制和集中采购的固定终端应全面支持IPv6。

(八)业务运营支撑系统改造。到2018年第三季度末,基础电信企业完成业务运营支撑系统升级改造,建立面向IPv6业务的运维管理体系和业务管理流程,具备IPv6用户统计、流量统计以及IPv6业务受理、开通、运行维护等能力。

三、推进应用基础设施IPv6改造

(九)数据中心IPv6改造。基础电信企业和数据中心运营企业应完成数据中心内部网络和出口设备的IPv6改造,支持IPv6业务接入和承载。到2018年末,中国电信、中国移动、中国联通完成超大型数据中心IPv6改造,国家超级计算广州中心、东北区域大数据中心、东软软件园数据中心、誉成云创数据中心、百度云计算技术(山西)有限公司、蓝汛首鸣国际数据中心完成IPv6改造,为用户提供基于IPv6的互联网数据中心(IDC)业务,2018年起新投产的数据中心应支持IPv6。到2020年末,各大型数据中心运营企业均完成IPv6改造。

(十)内容分发网络(CDN)IPv6改造。到2018年末,阿里云、腾讯云、金山云、网宿科技、蓝汛、帝联科技完成内容分发网络(CDN)IPv6改造。

(十一)云服务平台IPv6改造。到2018年末,中国电信、中国移动、中国联通面向公众提供服务的云服务平台完成50%云产品IPv6改造,阿里云、腾讯云、金山云、UCloud、华为云、华云、迅达云、百度云、京东云、青云等云服务平台企业完成50%云产品IPv6改造。到2020年末,上述企业完成全部云产品IPv6改造。鼓励云服务企业面向用户提供IPv6技术咨询、网站改造等服务。

(十二)域名系统IPv6改造。到2018年末,中国电信、中国移动、中国联通完成递归域名解析服务器的IPv6改造,万网、新网互联、中国互联网信息中心(CNNIC)、政府和公益机构域名注册管理中心(CONAC)、西部数码、三五互联、易名中国、中国数据、爱名网、联动天下、商务中国、时代互联完成IPv6改造,构建域名注册、解析、管理全链条IPv6支持能力。

四、开展政府网站IPv6改造

与工业互联网IPv6应用

(十三)政府网站IPv6改造。推进工业和信息化系统门户网站IPv6改造。到2018年末,工业和信息化部完成门户网站IPv6改造;到2019年末,部属各单位、部属各高校及各省、自治区、直辖市通信管理局完成门户网站IPv6改造。

(十四)工业互联网IPv6应用。鼓励典型行业、重点工业企业开展工业互联网IPv6网络化改造,创新工业互联网应用实践,构建工业互联网IPv6标准体系。

五、强化IPv6网络安全保障

(十五)加强IPv6网络安全管理。将IPv6相关网络基础设施及应用基础设施安全防护纳入电信和互联网网络安全防护体系,健全完善IPv6环境下网络安全相关管理和技术要求,开展针对IPv6的网络安全等级保护、风险评估、通报预警等工作。

(十六)做好IPv6网络安全保障措施升级改造。各基础电信企业和数据中心、内容分发网络(CDN)、云服务等运营企业要同步做好现有网络安全保障系统在IPv4向IPv6过渡过程中的升级改造,确保具备基于IPv6的安全保障能力。

(十七)强化IPv6网络安全能力建设。加强基于IPv6固定网络基础设施和应用基础设施的网络安全防护手段建设,支持开展IPv6网络环境下的工业互联网、物联网、人工智能等新兴领域网络安全技术和管理机制研究。鼓励企业、研究机构、高校等各方加强协同,加快IPv6安全技术研发、应用和融合创新。

六、落实配套保障措施

(十八)加强组织领导。各地通信管理局、工业和信息化主管部门要加强与有关部门的沟通协调,建立协同工作机制。各基础电信企业集团公司、设备制造企业以及数据中心、内容分发网络(CDN)、云服务、域名服务等企业要成立由公司领导任组长的专项推进工作组,对照各项目标任务制定具体实施方案和工作计划,并于5月15日前报送工业和信息化部(信息通信发展司)。

(十九)落实主体责任。各企业要加大资金投入力度,确保各项目标任务按期完成。各基础电信企业集团公司在对各省级子(分)公司的业绩考核中,还应将IPv6相关任务完成情况作为重要的考核指标,要安排资金保障IPv6各项任务落实。各企业应于2018年6月、9月、12月底向工业和信息化部(信息通信发展司)报送相关工作进展情况。

(二十)强化规范管理。完善互联网信息服务备案管理制度,鼓励互联网接入服务提供者和互联网信息服务提供者提供基于IPv6的服务,在互联网信息服务备案时明确要求提供IPv6相关信息;加强IPv6地址备案系统的建设和备案管理,督导企业严格落实IPv6接入地址编码规划方案;完善相关电信业务管理要求,要求数据中心(含云服务)、内容分发网络(CDN)等运营企业在提交年报时,提供支持IPv6相关情况;修订电信设备进网检测的相关规定,明确网络及终端设备进网中有关IPv6的检测要求。各地工业和信息化主管部门在电子政务系统、信息化系统及服务平台等项目审批中,应将支持IPv6作为必要条件,并负责考核落实;要统筹安排专项资金,加大对本地区IPv6改造工作的支持力度。

(二十一)加强督查考核。工业和信息化部将成立IPv6督查工作专家组,研究制定推进IPv6规模部署相关任务完成情况的考核标准,并将定期组织开展专项督查工作,就LTE网络IPv6端到端贯通、固定网络基础设施改造、应用基础设施改造、强化网络安全保障等重点任务进行分项考核。中国信息通信研究院要研究构建IPv6发展监测平台,形成对网络、应用、终端、用户、流量等关键发展指标的实时监测和分析能力,并向社会发布IPv6各项发展指标数据。

工业和信息化部

2018年4月25日

 

看来IPV6实施已经开始,大家拭目以待吧。