热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2018226Linux学习笔记

本文是阿铭linux系列课程关于LAMP架构介绍,MySQLMariaDB和MyS
11.1 LAMP架构介绍
  • Linux+Apache(httpd)+MySQL+PHP
    Linux: 操作系统
    Apache: 提供Web服务的软件,真正名字叫httpd
    MySQL: 存储数据,字符串的数据库
    PHP: 用C开发,类似shell但比shell高级,通常用于做网站
    技术分享图片
  • Apache,MySQL,PHP三个角色可以在一台机器上,也可以分开,但Apache(httpd)和PHP要在一起,因为PHP是以一个模块的形式存在Apache上的.

  • 静态请求: 直接由webserver处理的请求,比如图片,js,css等.
    用户<-->Apache<-->静态文件
  • 动态请求: 需要和数据库打交道的请求.
    用户<-->Apache<-->PHP模块<-->MySQL
11.2 MySQL_MariaDB介绍
  • MySQL是一个关系型数据库,由mysql ab公司开发,mysql在2008年被sun公司收购(10亿美元),2009年sun公司被oracle公司收购(74亿美元).MySQL官网https://www.mysql.com.MySQL5.6变化比较大,5.7性能上有很大提升.

  • Mariadb为MySQL的一个分支,官网https://mariadb.com
  • Mariadb主要由SkySQL公司(现更名为MariaDB公司)维护,SkySQL公司由MySQL原作者带领大部分原班人马创立.
  • Mariadb5.5版本对应MySQL的5.5,10.0对应MySQL5.6

  • MySQL各个版本:
    Community社区版本
    Enterprise企业版
    GA(Generally Available)通用版本,在生产环境中用的
    DMR(Development Milestone Release)开发里程碑发布版
    RC(Release Candidate)发行候选版本
    Beta开放测试版本
    Alpha内部测试版本
11.3/4/5 MySQL安装
  • MySQL的几个常用安装包: rpm,源码,二进制免编译.

  • 二进制免编译包是在其他Linux机器已经编译后打包的,安装时无需再编译,与rpm包安装类似,但胜于rpm包的一点是它能指定安装的路径,而rpm包不能指定.
  • 二进制免编译包可不足之处是性能可能不能保证,如果追求性能建议用源码安装方式.

  • 二进制免编译包安装MySQL简要步骤:
    cd /usr/local/src
    wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz #下载MySQL二进制免编译包
    tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz #解压安装包
    mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql #将安装包移动到/usr/local/mysql目录下
    cd /usr/local/mysql
    useradd mysql #创建mysql用户
    mkdir /data/ #创建数据库目录
    ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql #初始化,指定数据库用户和目录(这是一个perl脚本)
    cp support-files/my-default.cnf /etc/my.cnf #拷贝配置文件
    cp support-files/mysql.server /etc/init.d/mysqld #拷贝启动脚本
    vi /etc/init.d/mysqld
    定义basedir和datadir
    basedir=/usr/local/mysql
    datadir=/data/mysql
    /etc/init.d/mysqld start #启动mysql服务
  • 运行./scripts/mysql_install_db --user=mysql --datadir=/data/mysql进行初始化后,如何知道是否成功呢?简单说一是看是否有2个OK(如下图);二是立刻运行echo $?查看刚运行的初始化命令返回值是否为0(0成功,1失败).
    技术分享图片
  • 可用如下命令让mysqld能开机启动
    chkconfig --add mysqld #将mysqld加入到启动列表中以便能开机启动
    技术分享图片
  • 安装过程(主要是初始化那一行命令)中遇到的问题:
  • 问题1:
    -bash: ./scripts/mysql_install_db: /usr/bin/perl: 坏的解释器: 没有那个文件或目录
    解决方法:
    yum install perl -y

  • 问题2:
    [root@kh-01 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
    Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
    解决方法:
    yum install libaio* -y

  • 安装包时遇到缺少某些模块/包问题的一般思路,比如如下错误提示:
    FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
    Data::Dumper
    方法一:
    先模糊搜索可能的安装包-->安装搜索到的安装包-->再次执行,若不报错则说明安装正确.
    yum list|grep perl|grep -i dumper
    方法二:
    网上搜索该问题
    www.baidu.com
    www.bing.com
    www.google.com

  • 命令行启动mysql服务(了解):
    /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
    关闭mysql服务(了解):
    killall mysqld
    注(重要): 不要用kill pid形式来关闭mysql服务,因为有可能造成数据丢失;而用killall会先停止当前写/读操作,将缓存中未同步到磁盘中的数据同步到磁盘后,再停止mysql服务.

  • mysql的两个引擎(此处先做了解则可):
    innodb
    myisam

2018-2-26 Linux学习笔记


推荐阅读
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • Linux Shell脚步的格式
    Shell脚步等多个命令的组合,可以做成一个shell文件(1.sh)赋权执行执行命令的方式前两张新的进程中执行,对当前进程不产生影响(cdtmp;pwds ... [详细]
  • 阿里云主机实战应用之centos7上的防火墙设置
    最近公司又上了一台服务器,以前都是用centos6系统,这次选择使用了centos7系统的安装镜像,因为现在程序版本在centos7上一般php默认就是5.4以上的,mysql也 ... [详细]
  • 本文是搭建的mariadb-10.0.17版本的下载地址:https:downloads.mariadb.orginterstitialmariadb-10.0.17sourcemariadb-10.0.17.tar.gzfromhtt ... [详细]
  • 如何部署Zabbix监控实现监测和报警机制
    这篇文章的知识点包括:Zabbix的安装部署、Zabbix监控的实现以及Zabbix报警机制的实现,阅读完整文相信大家对Zabbix监控的使用有了一定的认识。Zabb ... [详细]
  • mysql数据库生成表插件_screw 数据库文档生成工具
    简洁好用的数据库表结构文档工具在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写 ... [详细]
author-avatar
tttt
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有