独家报道!MySQL所有的安装部署方式详解,绝对提升你的视野

centos7安装MySQL5.7 深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。 阅读详情

一.前言

​ linux安装软件的方式多种多样,MySQL也不例外,本文将介绍MySQL所有的安装方式。

二.关于MySQL的安装

​ MySQL一般可以采用四种安装方式,每种方式各有优点,使用场景各有不同:

  • yum安装MySQL,优点:简单,方便,适用场景:可以访问网络的环境
  • 离线源码编译安装MySQL,优点:可定制,适用性强,适用场景:无网络,需要定制MySQL,平台兼容性不强(内存最好大于4G不然编译会出现内存不足的报错)
  • RPM包安装MySQL,优点:简单,方便,适用场景:redhat系统
  • 通用二进制包安装MySQL,优点:简单,好维护,适用场景:大部分环境都适用(推荐)

三.部署规划

3.1 服务器规划

服务器 操作系统版本 CPU架构 MySQL安装方式
node6 CentOS Linux release 7.4.1708 x86_64 源码编译安装MySQL
node7 CentOS Linux release 7.4.1708 x86_64 通用二进制包安装MySQL
node8 CentOS Linux release 7.4.1708 x86_64 RPM包安装MySQL
node9 CentOS Linux release 7.4.1708 x86_64 yum安装MySQL

3.2 数据库目录规划

文件类型 文件部署位置
数据目录datadir /data/data(/data目录请确保足够大)
配置文件my.cnf /etc/my.cnf
错误日志log-error /data/log/mysql_error.log
二进制日志log-bin /data/binlogs/mysql-bin(用于数据库恢复和主从复制,以及审计(audit)操作)
慢查询日志slow_query_log_file /data/log/mysql_slow_query.log
套接字文件socket /data/run/mysql.sock
进程ID文件mysql.pid /data/run/mysql.pid

四.准备工具

1.MySQL通用二进制包:mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

​ 

2.MySQLRPM包:mysql-community-client-5.7.28-1.el7.x86_64.rpm

​ mysql-community-common-5.7.28-1.el7.x86_64.rpm

​ mysql-community-devel-5.7.28-1.el7.x86_64.rpm

​ mysql-community-libs-5.7.28-1.el7.x86_64.rpm

​ mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm

​ mysql-community-server-5.7.28-1.el7.x86_64.rpm

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

1575168892245

3.MySQL源码包:mysql-boost-5.7.28.tar.gz

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

1575168777801

4.MySQL的Yum源:mysql57-community-release-el7-10.noarch.rpm

或者mysql-community-release-el7-5.noarch.rpm

下载方法:wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

或者wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

五.通用二进制包安装MySQL

5.1 上传MySQL通用二进制安装包到node7的/usr/local/src目录下

[root@node7 src]# pwd
/usr/local/src
[root@node7 src]# ls
mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

5.2 解压MySQL到指定目录并改名

[root@node7 src]# tar -zxf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@node7 src]# cd /usr/local/
[root@node7 local]# ls
bin  etc  games  include  lib  lib64  libexec  mysql-5.7.26-linux-glibc2.12-x86_64  sbin  share  src
[root@node7 local]# mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql
[root@node7 local]# ls
bin  etc  games  include  lib  lib64  libexec  mysql  sbin  share  src

5.3 创建MySQL用户和用户组

[root@node7 local]# groupadd -g 1111 mysql
[root@node7 local]# useradd -g mysql -u 1111 -s /sbin/nologin mysql
[root@node7 local]# id mysql    #查看用户信息
uid=1111(mysql) gid=1111(mysql) groups=1111(mysql)

5.4 配置MySQL的bin目录到PATH路径

[root@node7 local]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@node7 local]# source /etc/profile
[root@node7 local]# mysql    #输入MySQL之后双击tab键,即可列出候选MySQL命令
mysql                       mysql_client_test_embedded  mysqld-debug                mysqldumpslow               mysql_plugin                mysqlslap                   mysql_upgrade
mysqladmin                  mysql_config                mysqld_multi                mysql_embedded              mysqlpump                   mysql_ssl_rsa_setup         mysqlxtest
mysqlbinlog                 mysql_config_editor         mysqld_safe                 mysqlimport                 mysql_secure_installation   mysqltest_embedded          
mysqlcheck                  mysqld                      mysqldump                   mysql_install_db            mysqlshow                   mysql_tzinfo_to_sql

5.5 创建MySQL数据存放目录

[root@node7 ~]# mkdir -p /data/{data,log,binlogs,run}
[root@node7 ~]# tree /data    #如果没有tree命令,则yum -y install tree安装
/data
├── binlogs
├── data
├── log
└── run

4 directories, 0 files
[root@node7 ~]# chown -R mysql:mysql /data
[root@node7 ~]# ll /data/
total 0
drwxr-xr-x 2 mysql mysql 6 Dec  3 11:07 binlogs
drwxr-xr-x 2 mysql mysql 6 Dec  3 11:07 data
drwxr-xr-x 2 mysql mysql 6 Dec  3 11:07 log
drwxr-xr-x 2 mysql mysql 6 Dec  3 11:07 run

5.6 配置MySQL配置文件

[root@node7 mysql]# rm -rf /etc/my.cnf
[root@node7 mysql]# touch /etc/my.cnf
#my.cnf配置文件详解,请查看我上一篇blog的#https://www.cnblogs.com/renshengdezheli/p/11913248.html的“MySQL配置文件优化参考”
[root@node7 mysql]# cat /etc/my.cnf
[client]
port=3306
socket=/data/run/mysql.sock

[mysqld]
port=3306
socket=/data/run/mysql.sock
pid_file=/data/run/mysql.pid
datadir=/data/data
default_storage_engine=InnoDB
max_allowed_packet=512M
max_connections=2048
open_files_limit=65535

skip-name-resolve
lower_case_table_names=1

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

innodb_buffer_pool_size=1024M
innodb_log_file_size=2048M
innodb_file_per_table=1
innodb_flush_log_at_trx_commit=0

key_buffer_size=64M

log-error=/data/log/mysql_error.log
log-bin=/data/binlogs/mysql-bin
slow_query_log=1
slow_query_log_file=/data/log/mysql_slow_query.log
long_query_time=5

tmp_table_size=32M
max_heap_table_size=32M
query_cache_type=0
query_cache_size=0

server-id=1

5.7 初始化MySQL数据库

[root@node7 mysql]# mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/data
[root@node7 mysql]# echo $?
0
[root@node7 mysql]# grep 'temporary password' /data/log/mysql_error.log    #查看MySQL初始化密码
2019-12-03T03:47:42.639938Z 1 [Note] A temporary password is generated for root@localhost: lhrh>J,p<8gw

5.8 生成ssl(可选)

#关于MySQL开启ssl查看https://www.cnblogs.com/mysql-dba/p/7061300.html
[root@node7 mysql]# mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/data/data
Generating a 2048 bit RSA private key
......................................+++
.+++
writing new private
Kylin Server V10 从安装到部署:图解指南与VirtualBox增强工具排错 Linux服务器操作系统是企业IT基础设施的核心,其稳定性和安全性直接关系到业务连续性。以开源Linux内核为基础,通过深度定制和优化,可以构建出满足特定硬件环境和安全要求的国产化操作系统,例如Kylin Server V10。这类系统在信创领域和国产硬件适配方面具有重要价值,尤其适用于需要部署在鲲鹏、飞腾等ARM架构服务器上的应用场景。本文聚焦于Kylin Server V10的实践部署,详细解析从安装介质准备、磁盘分区规划到系统初始化的完整流程。针对常见的VirtualBox增强工具安装失败问题,深入剖 阅读详情

相关推荐

MySQL 8.0 从零安装到CRUD实战:新手避坑与核心概念详解

这类教程最怕的就是标题喊得响,内容却东一榔头西一棒槌,学了半天连个数据库都连不上。我看了不少所谓的“从入门到精通”,很多要么是版本老旧,要么只讲语法不教实战,真到部署和排查问题时还是两眼一抹黑。 所以,这篇内容我们不搞虚的,就围绕一个核心目标: 让你能在一台干净的电脑上,从零开始,把MySQL装好、跑起来,并且能独立完成从建库、建表到基础增删改查(CRUD)的全过程。 这不是一个视频的逐字稿,而是一份可以随时查阅、按步骤操作的文字指南。我会把过程中最容易卡住的地方,比如安装报错、连接失败、密码问题、SQL文

weixin_34127717的博客 384

ThinkPHP6+Layui实战:用phpstudy快速部署勾股OA办公系统(附常见错误排查)

本文详细介绍了在Windows环境下,使用phpstudy快速部署基于ThinkPHP6和Layui开发的勾股OA办公系统的完整流程。内容涵盖PHP版本选择、Composer依赖安装、Apache服务器配置、数据库初始化及常见错误排查,旨在帮助开发者和IT管理员高效完成企业级OA系统的本地搭建与调试。

postgres8guard的博客 944

C/C++程序员如何通过PyCharm拓宽架构视野与技能栈

在软件工程领域,集成开发环境(IDE)和脚本语言是提升开发效率的关键工具。IDE通过深度集成代码编辑、调试、构建和版本控制等功能,为开发者提供无缝的工作流体验,其核心原理在于对编程语言的语义理解和智能辅助。脚本语言如Python,以其解释型特性和丰富的库生态,在快速原型验证、自动化任务和胶水逻辑中展现出巨大技术价值,广泛应用于数据分析、人工智能和系统管理等领域。对于长期深耕C/C++的程序员而言,接触PyCharm这类现代IDE和Python语言,不仅是学习新工具,更是一次对“构建思维”与“解释思维”差异的

weixin_30571465的博客 350

夜莺监控实战:如何用Nightingale+MySQL+Redis搭建企业级告警中心

本文详细介绍了如何利用夜莺监控系统(Nightingale)结合MySQL与Redis,构建高可用、可扩展的企业级告警中心。文章深入剖析了各组件在架构中的核心角色与协同设计,提供了生产环境下的关键配置参数调优、高可用部署方案,并分享了应对千万级指标压力的分布式扩展策略与告警治理最佳实践。

weixin_29263201的博客 472

CRMEB电商系统安装避坑大全:从环境配置到伪静态设置的完整流程

本文详细解析了CRMEB电商系统的完整安装部署流程,涵盖环境配置、源码部署、数据库设置及伪静态配置等关键步骤。针对基于ThinkPHP 6、Vue 2.5和UniApp构建的CRMEB系统,提供了从服务器选型到生产环境优化的实战指南,帮助开发者高效避坑,快速构建高可用的社交电商平台。

linux的博客 1048

悟空CRM Docker部署全攻略:10分钟搞定复杂微服务环境搭建

如果你正在寻找一款功能强大、开源免费且支持私有化部署的CRM系统,那么悟空CRM(WukongCRM)很可能已经进入了你的视野。它集成了客户管理、销售流程、办公协同等核心功能,尤其适合中小企业和创业团队。然而,当真正准备部署时,很多人会望而却步:复杂的Java环境、MySQL、Redis、Nacos、Elasticsearch、Nginx……这一长串的依赖组件,光是安装和配置就足以劝退大部分非专业运维的开发者。 这正是本文要解决的核心问题: 如何将悟空CRM的部署过程,从一个需要数小时、充满不确定性的“手工

weixin_34082789的博客 377

解锁 DeepSeek 模型高效部署密码:蓝耘平台全解析

在 AI 浪潮中,DeepSeek 系列模型潜力巨大,但硬件成本阻碍其部署。蓝耘元生代容器平台为解决此难题而生,它具备灵活基础设施、强大云计算能力与丰富生态资源,能助力快速部署 DeepSeek - V3、DeepSeek - R1 等模型。文章详细介绍了在该平台搭建 deepseek - r1_32b 的教程,并通过电商、医疗、金融、教育领域的案例,展示了模型部署后的显著成效。此外,还提供了文本分类、情感分析的代码示例,为 AI 开发者和企业提供了极具价值的参考,推动 AI 技术在多领域的应用与发展。

【青云交】华为云云享专家 | 阿里云开发者社区专家博主 技术圈个人影响力前 9 | 博客之星 TOP12 优快云 首位四榜(原力榜 / 作者周榜 / 领军人物 / 综合热榜)榜首,破平台纪录! 苏州地区全榜霸榜,感恩全网十多万粉丝同行! 3798

解锁 DeepSeek 模型高效部署密码:蓝耘平台深度剖析与实战应用

本文探讨 AI 与大数据技术。介绍 DeepSeek 模型潜力及蓝耘平台对其部署助力,展示多领域应用成效。阐述 Java 大数据在金融监管与政务服务应用,分析多种编程语言作用,展望技术融合创新前景,强调其在各行业的变革力量。

【青云交】华为云云享专家 | 阿里云开发者社区专家博主 技术圈个人影响力前 9 | 博客之星 TOP12 优快云 首位四榜(原力榜 / 作者周榜 / 领军人物 / 综合热榜)榜首,破平台纪录! 苏州地区全榜霸榜,感恩全网十多万粉丝同行! 3809

SQL注入靶场搭建指南:从零部署sqli-labs到实战练习

SQL注入作为Web应用安全的核心漏洞类型,其原理是通过构造恶意SQL语句,绕过应用程序的输入验证,直接操作后端数据库。这种攻击技术的危害在于能够导致数据泄露、篡改甚至服务器被完全控制。理解SQL注入的底层机制,对于开发安全的数据库驱动应用至关重要。在网络安全学习和渗透测试实践中,搭建一个隔离的、合法的练习环境是掌握SQL注入技术的必经之路。sqli-labs作为业界公认的经典SQL注入靶场,集成了从基础错误回显到高级盲注、堆叠注入等数十种真实场景,是系统化学习注入手法与绕过技巧的绝佳平台。通过部署该靶场,

weixin_34306593的博客 396

悟空CRM Docker一键部署指南:微服务架构的容器化实践

如果你正在寻找一款开源、功能全面且支持AI能力的CRM系统,那么悟空CRM(WukongCRM)很可能已经进入了你的视野。但当你真正准备部署时,面对复杂的微服务架构、Nacos、Seata、Elasticsearch等一系列组件,是否感到无从下手?传统的源码编译部署方式,光是环境配置和依赖解决就可能耗费一整天,更别提后续的版本升级和维护了。 这正是本文要解决的核心问题: 如何将悟空CRM的部署从一项复杂的“系统工程”,简化为一个小时内就能完成的“一键操作” 。答案就是利用Docker和Docker Comp

weixin_33672109的博客 467

python计算机毕设【附源码】个性化音乐推荐系统(django+mysql+论文)

本系统采用Python语言进行后端开发,基于Django框架构建,该框架以其“开箱即用”的特性和强大的功能集,为快速开发高质量的Web应用程序提供了便利。在数据库管理工具的选择上,使用了Navicat 11,这是一个用户友好且功能强大的数据库管理软件,它支持多种数据库系统,包括MySQL,并提供了图形化界面,使得数据库的管理和维护工作更加便捷。综上所述,个性化音乐推荐系统的研究和开发不仅具有实际的商业价值,而且对于推动音乐产业的发展、满足用户个性化需求、以及培养具备实战经验的软件开发人才都具有重要的意义。

Python程序源码老哥 1073

英语词汇量测试系统(源码+mysql+文档)

对于教师而言,该系统可以作为一个辅助教学工具,帮助教师更好地了解学生的词汇水平,从而调整教学计划和策略,实施更加个性化的教学。随着教育技术的发展,英语词汇量测试系统也可以整合进在线学习平台,为学习者提供随时随地的学习机会,这不仅提高了学习的便捷性,也极大地拓宽了教育资源的获取渠道。为了帮助学习者了解自己的英语词汇水平,进而制定合理的学习计划,提升学习效率,开发一个英语词汇量测试系统显得尤为必要。该系统能够通过科学的测试方法,评估学习者的词汇量,从而为学习者提供个性化的学习建议和辅导。

yiyue02的博客 920

从零搭建sqli-labs靶场:SQL注入实战环境部署与学习指南

SQL注入作为Web安全领域的核心漏洞类型,其原理是通过构造恶意SQL语句,干扰应用程序与数据库的正常交互逻辑,从而绕过认证、窃取或篡改数据。掌握SQL注入的检测与利用技术,对于理解应用层安全、提升系统防御能力具有重要价值。在安全学习与渗透测试实践中,一个可控、隔离的本地靶场环境是必不可少的训练平台。本文聚焦于经典SQL注入靶场sqli-labs的部署,详细解析其依赖的LAMP/WAMP环境组件(如Apache、PHP、MySQL)的配置与协同工作原理,并针对常见的PHP版本兼容性、数据库连接错误等实战问题

weixin_34268579的博客 634

MySQL实战45讲——从删库到跑路

作者:禅与计算机程序设计艺术 1.简介 随着互联网网站用户数量的不断增加、应用系统日益复杂化、海量数据存储的需求越来越高,传统关系数据库已无法满足业务快速发展和海量数据的高速增长,而分布式NoSQL数据库则成为热门的选择。但NoSQL数据库相对于关系数据库来说,其独有的灵活性、高可用性、横向扩展性等优点

AI天才研究院 2445

晶圆表面缺陷检测现状概述

凹坑,凸起,尖角,沟槽),使用光束对晶圆进行照射,收集反射光和散射光信息进行缺陷判断,进一步可分为无图案晶圆表面检测和宏观缺陷检测设备。KLA使用SR-DUV光,检测精度在10nm以下。扫描电子显微(电子束和晶圆表面产生二次电子,X射线等)获取高分辨率的图像,然后用图像处理表面缺陷(凹坑,凸起,尖角,沟槽等)表面容貌和材料信息,分辨率可达5-10nm。晶圆表面缺陷检测设备主要检测晶圆外观呈现出来的缺陷,损伤、毛刺等缺陷,主要设备供应商KLA,AMAT,日立等,其中KLA在晶圆表面检测设备占有市场52%左右。

qq_36786800的博客 1万+

手把手教你用OpenCompass评估Qwen1.5-1.8B模型(含数据集配置详解)

本文提供了使用OpenCompass评估Qwen1.5-1.8B-Chat模型的详细实战教程。内容涵盖从创建独立Python环境、下载模型与核心数据集,到编写配置文件、执行评测命令及解读结果的完整流程。重点解析了模型与数据集的配置细节,并分享了性能调优与常见问题排查方法,旨在帮助开发者快速上手系统化的模型评估。

weixin_29228781的博客 139

SAP生产订单(创建-下达-发料-报工-入库)全流程及反向流程

SAP创建下达报工入库发料以及取消发料取消入库,批量下达删除关闭,生产订单出入库查询和状态更改查询记录

weixin_38974136的博客 2万+

基于STM32的RS485土壤氮磷钾与PH传感器数据采集与OLED显示实战(附完整代码)

本文详细介绍了基于STM32单片机通过RS485协议采集土壤氮磷钾与PH传感器数据的实战项目。涵盖硬件选型、连接方法、Modbus-RTU通信协议解析、STM32程序实现及OLED显示,提供完整代码和调试技巧,适用于农业物联网环境监测系统。

kotlin6android的博客 339

【顾邦小讲堂】第十九期 RC Snubber吸收电路详解:抑制MOSFET振铃现象与过冲的设计技巧!

通过RC Snubber电路有效抑制MOSFET DS端的过冲及振铃现象,帮助工程师们在设计中提升电路的稳定性和可靠性

GBupupup的博客 3791

Carla运行显示The following component(s) are required to run this program:DirectX Runtime |nvapi64.dll没有被

Carla运行显示The following component(s) are required to run this p 参考: 【1】EPIC 启动游戏提示The following component(s) are required to run this program:... - 『悬赏问答区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cnhttps://www.52pojie.cn/thread-1485651-1-1.html ...

anananajiushiwo的博客 5万+

从后端角度浅谈抗辐射设计----三模冗余(TMR)

三模冗余设计(TMR),是最常用的一种容错技术,三个模块采取相同的操作,以多数相同的输出作为表决系统的正确输出,即3取2,因为三个模块是相互独立的,而其中两个模块同时出错的概率是极小的,因此便可保证系统输出的可信度。然而这个设计也会存在面积浪费,功耗的增加,而且由于是冗余的设计,在后续进行综合或者pr的时候会被工具优化,因此需要对模块进行don’t touch设置;通过增值表得到,逻辑关系表达式为:Q=(Q1&Q2)|(Q1&Q3)|(Q2&Q3),通过工艺库的stdcell进行搭建,得到如下电路。

芯冰乐 329

一文搞懂LDO !

Start-up 时间是 IC 做死的,如果想要延时启动,最简单的办法是在 EN 上接一个大一些的电容到地,构成一个简单的 RC 电路。电容太小,电压跌落大,响应快。输出电流高,功率大;外围器件少,电路简单,成本低,负载响应快,输出纹波小;将采集的电压输入到比较器反向输入端,与正向输入端的基准电压(期望输出的电压)进行比较,再将比较结果进行放大;是指在给定负载变化下的输出电压的变化,这里的负载变化通常是从无负载到满负载。芯片的静态电流大小与其他性能成反关系,如低噪声,高电源电压抑制比,静态电流大。

weixin_46969363的博客 4385

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: 不是阿里P8级大佬,岂能错过这篇MySQL运维内参?啃透涨薪so easy
下一篇: 高性能RPC通信框架——Dubbo详解,深入浅出带你进军Java开发
Java领域指导者
博客等级 码龄7年 404粉丝 265原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值