设为首页 收藏本站
查看: 1094|回复: 0

[经验分享] LAMP架构介绍及mysql安装

[复制链接]

尚未签到

发表于 2018-10-3 06:26:26 | 显示全部楼层 |阅读模式
  LAMP架构介绍
  LAMP是Linux+Apache(httpd)+MySQL+PHP的简写,即把Apache、MySQL以及PHP安装在linux系统上,组成一个运行环境来运行PHP脚本语言,通常是网站。比如Google、淘宝、百度、51cto博客、猿课论坛等就是用PHP语言写出来的。
  httpd、PHP、MySQL三个角色可以在一台机器、也可以分开,但httpd和PHP要安装在一台机器上,这也是PHP作为Apache的一个模块存在的,它们两必须在一起。
  httpd、PHP、MySQL三者如何工作:
  PHP是以模块的形式和Apache结合在一起的。
  Apache不能直接跟Mysql打交道,只能通过PHP模块去Mysql拿数据,再交给Apache再交给用户。PHP与Mysql之间是动态请求。
DSC0000.png

  MySQL安装
  MySQL的几个常用安装包:rpm包、源码包、二进制免编译包
  1.查看linux系统是多少位
  # uname -a  查看linux系统是多少位
  Linux gary 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  2.下载mysql源码包,把安装包放到指定目录下:
  # cd /usr/local/src
  # wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
  --2018-02-26 19:17:14--  http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
  正在解析主机 mirrors.sohu.com (mirrors.sohu.com)... 221.236.12.140
  正在连接 mirrors.sohu.com (mirrors.sohu.com)|221.236.12.140|:80... 已连接。
  已发出 HTTP 请求,正在等待回应... 200 OK
  长度:314581668 (300M) [application/octet-stream]
  正在保存至: “mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz”
  100%[===============================================================================>] 314,581,668 1.40MB/s 用时 3m 34s
  2018-02-26 19:20:49 (1.40 MB/s) - 已保存 “mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz” [314581668/314581668])
  3.将压缩包解压:
  # tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
  4.把目录移动到/usr/local/下并改名为mysql:
  # mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
  5.进入目录查看:
  # cd /usr/local/mysql
  # ls
  bin  COPYING  data  docs  include  lib  man  mysql-test  README  scripts  share  sql-bench  support-files
  6.创建mysql用户,创建目录/data/,用来存放mysql数据:
  # useradd mysql
  # mkdir /data/
  7.初始化指定用户mysql和路径:
  # ./scripts/mysql_install_db –user=mysql –datadir=/data/mysql
  FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
  Data::Dumper
  # yum list |grep perl |grep -i dumper
  perl-Data-Dumper.x86_64                     2.145-3.el7                base
  perl-XML-Dumper.noarch                      0.81-17.el7                base
  # yum install -y perl-Data-Dumper
  # echo $?     检验上一次命令是否成功,需要马上测验
  0
  # ./scripts/mysql_install_db –user=mysql –datadir=/data/mysql    //报错解决后再执行
  解决办法:
  (执行后可能会出现这种情况,是因为缺少了一个模块,需要我们安装:yum install -y perl-Data-Dumper)
  执行完命令后可马上执行命令echo $?查看是否为0,为0说明执行成功。
  可能缺少的包:
  yum install -y libaio
  yum install -y numactl
  yum -y install libaio-devel
  yum -y install openssl-devel
  yum -y install perl perl-devel
  8.拷贝配置文件,有两种方法:
  方法一:
  拷贝配置文件到etc目录下 cp support-files/my-default.cnf /etc/my.cnf
  方法二:
  更改自带的vim /etc/my.cnf文件,更改成如下配置:
DSC0001.png

DSC0002.png 9.复制启动脚本到/etc/init.d目录下并改名mysqld:

  # cp support-files/mysql.server /etc/init.d/mysqld
  10.编辑启动脚本:
  # vi /etc/init.d/mysqld定义basedir和datadir
  basedir=/usr/local/mysql
  datadir=/data/mysql

  11.启动mysql:
  看下默认权限是不是755,把服务加入开机启动。
  # ls -l /etc/init.d/mysqld       默认权限
  -rwxr-xr-x1root root1090212月1420:57/etc/init.d/mysqld
  # chkconfig --add mysqld   添加开机启动
  # chkconfig --list                 查看已添加开机
  注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。
  如果您想列出 systemd 服务,请执行'systemctl list-unit-files'。
  欲查看对特定 target 启用的服务请执行'systemctl list-dependencies [target]'。
  mysqld       0:关1:关2:开3:开4:开5:开6:关
  netconsole 0:关1:关2:关3:关4:关5:关6:关
  network      0:关1:关2:开3:开4:开5:开6:关
  手动启动mysql服务命令
  # /etc/init.d/mysqld start 或者 service mysqld start
  # service mysqld start      服务启动成功
  Starting MySQL.Logging to '/data/mysql/gary.err'.
  ..... SUCCESS!
  # ps aux |grep mysql    查看进程
  root       8081  0.0  0.1  11760  1588 pts/0    S    21:23   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/gary.pid
  mysql      8216  0.9 44.9 973048 449520 pts/0   Sl   21:23   0:05 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/gary.err --pid-file=/data/mysql/gary.pid --socket=/tmpmysql.sock
  root       8258  0.0  0.0 112664   972 pts/0    S+   21:32   0:00 grep --color=auto mysql
  # netstat -lntp     查看监听端口3306
  Active Internet connections (only servers)
  Proto Recv-Q Send-Q Local Address           Foreign Address      State       PID/Program name
  tcp        0      0 0.0.0.0:22             0.0.0.0:*           LISTEN        827/sshd
  tcp        0      0 127.0.0.1:25         0.0.0.0:*           LISTEN        1102/master
  tcp6      0      0 :::3306                  :::*                    LISTEN        8216/mysqld
  tcp6      0      0 :::22                      :::*                    LISTEN        827/sshd
  tcp6      0      0 ::1:25                    :::*                    LISTEN        1102/master
  假设:
  如果没有启动脚本可以放在/etc/init.d下,那么可以用命令的方式来打开mysql(PS:命令模式打开的mysql要关闭需要用kill命令:killall mysqld,也可以用 kill PID号,但是建议用killall,就如mysql如果用killall,它会先停止当前的读写操作,再把没有完成写入磁盘的数据慢慢写进去,直到写完之后才会把进程杀死。如果遇到mysqld进程杀不死,等了一分钟还杀不死,说明数据量很大,慢慢等,不要强制使用kill -9 。)
  命令:
  /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
  –defaults-file:指定配置文件所在的路径。
  示例如下:
  # service mysqld stop    停止mysql服务
  Shutting down MySQL.. SUCCESS!
  # ps aux |grep mysql     查看进程停止
  root       8290  0.0  0.0 112664   968 pts/0    S+   21:38   0:00 grep --color=auto mysql
  # /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &   执行命令启动服务,这里按ctrl+z把命令放到后台执行
  [1] 8472
  # 171214 21:42:10 mysqld_safe Logging to '/data/mysql/gary.err'.
  171214 21:42:10 mysqld_safe Starting mysqld daemon with databases from /data/mysql
  # ps aux |grep mysql  进程启动
  root       8472  0.0  0.1 113256  1584 pts/0    S    21:42   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql
  mysql      8595  0.3 45.6 973048 456372 pts/0   Sl   21:42   0:00 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/gary.err --pid-file=/data/mysql/gary.pid --socket=/tmp/mysql.sock
  root       8620  0.0  0.0 112664   968 pts/0    S+   21:46   0:00 grep --color=auto mysql
  # yum install psmisc    安装killall命令
  # killall mysqld            终止以命令方式启动的mysql服务
  # ps aux |grep mysql  查看进程已结束
  root       8642  0.0  0.0 112664   972 pts/0    R+   21:54   0:00 grep --color=auto mysql


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-607694-1-1.html 上篇帖子: 客户端不能连接mysql的问题 下篇帖子: MySQL第六天(主从同步,数据读写分离)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表