千家信息网

Linux 学习总结(三十)lamp之mysql安装

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,一 lamp架构介绍lamp 是linux apache mysql php 的缩写,就是整个一套服务端环境,对于php开发的网站,我们访问到的页面或者数据很可能就是这套环境提供的。对于普通网民来说,
千家信息网最后更新 2025年11月07日Linux 学习总结(三十)lamp之mysql安装

一 lamp架构介绍

lamp 是linux apache mysql php 的缩写,就是整个一套服务端环境,对于php开发的网站,我们访问到的页面或者数据很可能就是这套环境提供的。对于普通网民来说,我们没有注意我们访问到的网站内容,其实是分两大类的,一类是图片为代表的静态数据,一类是存储在数据库中的动态数据,比如我们登陆博客的用户名密码等。我们根据下图分解下各部分原理,linux当然是指我们的linux操作系统centos,ubuntu等。apache我们都知道他是一个基金会的名字,其实质是一个叫httpd的web server。mysql是数据库,用来存储动态数据,真正和他打交道的是一个叫php的应用。在lamp架构中,他作为httpd的一个模块存在。用户请求的静态文件直接存储在服务器上,动态数据存储在数据库中,通过php调用后传递给web,数据库可以单独装在其他服务器上,通过网络连接。

二 mysql安装

下面我们具体看下mysql的安装。
MySQL的几个常用安装包:rpm、源码、二进制免编译包安装
这里我们采用二进制免编译包安装,他相对于源码包来说不用去解决编译缺少库的错误,安装更简
单,因为他是在linux系统中编译好的, 相对与rpm来说他可以指定目录,方便包的管理。
cd /usr/local/src 到该目录下,以后统一将下载的应用包放在这里
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
下载一个mysql包,如果链接失效,可以再找其他镜像源
tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
1 数据包重命名
mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
cd /usr/local/mysql
2 创建用户及数据存放目录

useradd mysql  mkdir /data/   

3初始化
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

我们发现缺少perl 模块下的 Dumper包,我们尝试着找下
yum list |grep perl |grep -i dumper // -i 忽略大小写

我们可以尝试安装这两个包,看是否可以解决上面问题,也可以两个都装上,再初始化。
我们yum安装了上面第一个包后,再次初始化,发现又有一个问题,真是出师不利,不过不用怕,上网查了下解决办法:缺少libaio库文件,直接放了个大招,yum install -y libaio* 后来我发现可以直接
yum povides libaio.so.1 找这个库文件,毕竟这个模糊匹配安装让人不踏实。

安装完后,echo $? 结果为0 ,这下好了
cp support-files/my-default.cnf /etc/my.cnf
拷贝配置文件模板并编辑,我们发现/etc/下已经有一个my.cnf 那么就可以不用上面那个my-default.cnf文件了,直接编辑该文件即可
4 编辑配置文件
vim /etc/my.cnf

我们定义datadir 和 socket 然后注释掉其他内容
5 定义启动脚本
cp support-files/mysql.server /etc/init.d/mysqld
vim /etc/init.d/mysqld
拷贝启动文件,并编辑
定义basedir和datadir

/etc/init.d/mysqld start
出现sucess 后表示启动成功, 可以ps aux |grep mysqld 查看下进程。
6 要实现开机启动,可以

chkconfig --add mysqld    //加入系统服务列表chkconfig mysqld on

备注:
一直以为mysql 优先加载/etc/my.cnf 该配置文件,后面发现原来不是这样的,按照我目前的理解,/etc 下面的配置文件应该属于yum 直接安装的应用。然而我们采用的是二进制免编译包的安装办法。那么为啥我们上面的配置没有问题呢,因为这个加载都定义在启动脚本中,在support-files/mysql.server文件中,定义了优先加载$basedir 下面的my.cnf配置文件。如果没有定义,才去找/etc/my.cnf,我们刚配置的/etc/my.cnf之所以可以生效,是因为$basedir /my.cnf没有去定义,都处在注释状态。

数据 文件 配置 编译 数据库 存储 服务 不用 二进制 动态 用户 目录 系统 问题 面的 应用 两个 内容 办法 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 我要看看服务器了吧 登录密码怎么用数据库写 广东网络技术 奉贤区创新软件开发是什么 网络技术计算机三级要学多久 广西安乐窝网络技术有限公司 今日头条网络安全概念股 嘉定区制造软件开发费用 数据库具体指什么 数据库索引的四种类型 网络安全重大事项报告制度 北京星云互联网科技有限公司 怎样查看手机网络安全密钥 一个服务器能连两个客户端吗 趣味设计软件开发 潍坊app定制软件开发哪家好 数据库三级模式对应的实例 数据库怎样替换数据 山西oa软件开发的用途和特点 芝罘区直播软件开发哪家靠谱 数据库管理技术发展过程中 网络安全要英语好吗 一卡通数据库设计说明书 合肥鹧鸪网络技术有限公司 网络安全漏洞分析论文自述模板 合肥嵌入式软件开发外包 qt中的数据库 2022软件开发就业形势 世界网络安全实力排行 在发生危害网络安全的事件是
0