码迷,mamicode.com
首页 > 数据库 > 详细

LAMP——安装mysql

时间:2017-07-26 01:58:51      阅读:343      评论:0      收藏:0      [点我收藏+]

标签:mysql

初识LAMP

    LAMP是工作中常用的web部署架构之一。它由linux、apache(httpd)、mysql和php组成。其各个部件之间运作的关系如下图所示:

技术分享

    用户通过游览器访问服务端的apache(httpd)服务,如果访问的是静态数据,就直接提取。如果访问的数据来自mysql,那么就需要调用php模块与mysql建立关系读取数据。


Mysql与Mariadb

    Mysql是一个关系型数据库,由mysql ab公司开发,在2008年被sun公司收购,2009年被oracle公司收购。mysql最新版本是5.7GA/8.0DMR。mysql 5.6版本变化比较大,5.7版本性能上有很大提升。

    Mariadb是mysql的一个分支,最新版本是10.2版本。它是由Mysql原作者带领大部分原班人马创立的SkySQL公司维护。

    Mariadb5.5版本对应MySQL的5.5版本,10.0版本对应MySQL的5.6版本。

Tips:
Community 社区版本,Enterprise 企业版,
GA(Generally Available)指通用版本,在生产环境中用的,
DMR(Development Milestone Release)开发里程碑发布版,
RC(Release Candidate)发行候选版本,Beta开放测试版本,Alpha内部测试版本。


安装Mysql

    Mysql的安装方式主要有3种,分别为rpm、源码和二进制免编。译一般我们平时安装MySQL都是源码包安装的,但是由于它的编译需要很长的时间,建议安装二进制免编译包。可以到MySQL官方网站去下载,也可以其他镜像网站下载。

1、下载安装文件

[root@juispan ~]# cd /usr/local/src
[root@juispan src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
--2017-07-21 06:40:22--  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  555KB/s 用时 9m 36s

2017-07-21 06:49:59 (533 KB/s) - 已保存 “mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz” [314581668/314581668])

2、解压并移动

[root@juispan src]# tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
mysql-5.6.35-linux-glibc2.5-x86_64/README
mysql-5.6.35-linux-glibc2.5-x86_64/data/test/db.opt
mysql-5.6.35-linux-glibc2.5-x86_64/lib/libmysqlclient.a
......
[root@juispan src]# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql

3、创建用户与文件夹

[root@juispan local]# cd mysql/
[root@juispan mysql]# ls
bin      data  include  man         README   share      support-files
COPYING  docs  lib      mysql-test  scripts  sql-bench
[root@juispan mysql]# useradd mysql
[root@juispan mysql]# mkdir /data/

4、初始化数据库

[root@juispan 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

运行出错,需要安装perl和perl-Data-Dumper,使用yum安装上,重新初始化。

[root@juispan mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/my                                                                                        sql
Installing MySQL system tables..../bin/mysqld: error while loading shared librar                                                                                        ies: libaio.so.1: cannot open shared object file: No such file or directory

运行出错,安装libaio和libaio-dev相关的包,重新初始化。

[root@juispan mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
Installing MySQL system tables...2017-07-21 07:17:04 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-07-21 07:17:04 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2017-07-21 07:17:04 0 [Note] ./bin/mysqld (mysqld 5.6.35) starting as process 9822 ...
2017-07-21 07:17:04 9822 [Note] InnoDB: Using atomics to ref count buffer pool pages
2017-07-21 07:17:04 9822 [Note] InnoDB: The InnoDB memory heap is disabled
2017-07-21 07:17:04 9822 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2017-07-21 07:17:04 9822 [Note] InnoDB: Memory barrier is not used
......
[root@juispan mysql]# echo $?
0

通过查看运行过程中如果有2个“OK”,或者结束后使用“echo $?”命令查看为0,均表示运行正常。

5、拷贝配置文件

[root@juispan mysql]# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@juispan mysql]# vi /etc/my.cnf
......
datadir =/data/mysql
socket =/tmp/mysql.sock
......

6、拷贝启动脚本文件

[root@juispan mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@juispan mysql]# vi /etc/init.d/mysqld
......
basedir=/usr/local/mysql
datadir=/data/mysql
......

7、启动Mysql

[root@juispan mysql]# chkconfig --add mysqld
[root@juispan mysql]# chkconfig --list | grep mysqld

注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。
      如果您想列出 systemd 服务,请执行 ‘systemctl list-unit-files‘。
      欲查看对特定 target 启用的服务请执行
      ‘systemctl list-dependencies [target]‘。

mysqld          0:关    1:关    2:开    3:开    4:开    5:开    6:关
[root@juispan mysql]# service mysqld start
Starting MySQL.Logging to ‘/data/mysql/juispan.err‘.
.. SUCCESS!
[root@juispan mysql]# netstat -lnpt
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      1096/sshd
tcp        0      0 127.0.0.1:25    0.0.0.0:*               LISTEN      1753/master
tcp6       0      0 :::3306         :::*                    LISTEN      10111/mysqld
tcp6       0      0 :::22           :::*                    LISTEN      1096/sshd
tcp6       0      0 ::1:25          :::*                    LISTEN      1753/master

如果要关闭mysqld服务,可以采用killall mysqld或kill <pid>命令。

如果mysql进程杀不死,说明正在处理的数据量大,如果强行kill会丢数据或损坏表。只能慢慢等待。


本文出自 “A man & A computer” 博客,请务必保留此出处http://juispan.blog.51cto.com/943137/1950956

LAMP——安装mysql

标签:mysql

原文地址:http://juispan.blog.51cto.com/943137/1950956

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!