LAMP架构应用实战——MySQL服务

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> LAMP架构应用实战——MySQL服务

LAMP架构应用实战——MySQL服务

MySQL是一种开源的关系型数据库产品,具有开放式的架构,由瑞典MySQL AB公司开发的,后被SUN公司收购,转至最后被Oracle公司收购

LAMP架构应用实战——MySQL服务

MySQL是传统的关系型数据库,它的开放式架构使得用户有更强的选择性,开源代码也是当下大多互联网公司的选择,MySQL在不断的发展中,功能也越来越强大,性能也越来越好,支持的平台也越来越多

一:MySQL版本

MySQL目前有很多的版本,有以下几种

1、Alpha版本:一般只在软件开发公司内部运行,不对外公开

2、Beta版本:完成功能的开发和所有的测试工作之后的产品,不会存在较大的功能或性能BUG

3、RC版本:属于生产环境发布前的一个版本,是测试版本而收集到的BUG或不足之处,然后进行修复和完善

4、GA版本:软件产品正式发布的版本,生产环境中使用的版本

二:MySQL架构图

LAMP架构应用实战——MySQL服务

三:MySQL常见的安装方式

1、常用的编译安装方式(适用于MySQL 5.5前的版本)

2、免安装方式的安装

3、RPM包的安装方式

4、Cmake方式安装

四:MySQL安装

首先下载安装需要用的软件

ftp://ftp.stu.edu.tw/pub/Unix/Database/Mysql/Downloads/

http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.51.tar.gz

https://cmake.org/files/v2.8/cmake-2.8.8.tar.gz

选择相应的版本进行下载

这里介绍的是cmake方式安装 mysql-5.5.51

1、下载MySQL软件

[root@Centos tools]# wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.51.tar.gz

–2016-09-19 11:35:32–  http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.51.tar.gz

Resolving mirrors.sohu.com… 221.236.12.140

Connecting to mirrors.sohu.com|221.236.12.140|:80… connected.

HTTP request sent, awaiting response… 302 Found

Location: http://113.215.21.17:80/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.51.tar.gz [following]

–2016-09-19 11:35:38–  http://113.215.21.17/1Q2W3E4R5T6Y7U8I9O0P1Z2X3C4V5B/mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.51.tar.gz

Connecting to 113.215.21.17:80… connected.

HTTP request sent, awaiting response… 200 OK

Length: 21031206 (20M) [application/octet-stream]

Saving to: “mysql-5.5.51.tar.gz”                                                                              100%[==========================================] 21,031,206  1.68M/s   in 11s     

2016-09-19 11:35:49 (1.75 MB/s) - “mysql-5.5.51.tar.gz” saved [21031206/21031206]

[root@Centos tools]# ls

apr-1.5.2   apr-util-1.5.4   httpd-2.4.23  mysql-5.5.51.tar.gz  pcre-8.38.tar.gz

apr-1.5.2.tar.gz  apr-util-1.5.4.tar.gz   httpd-2.4.23.tar.gz   pcre-8.38

2、下载cmake软件

[root@Centos tools]# wget –no-check-certificate https://cmake.org/files/v2.8/cmake-2.8.8.tar.gz 

–2016-09-19 11:39:35–  https://cmake.org/files/v2.8/cmake-2.8.8.tar.gz

Resolving cmake.org… 66.194.253.19

Connecting to cmake.org|66.194.253.19|:443… connected.

WARNING: certificate common name “*.kitware.com” doesn’t match requested host name “cmake.org”.

HTTP request sent, awaiting response… 200 OK

Length: 5691656 (5.4M) [application/x-gzip]

Saving to: “cmake-2.8.8.tar.gz”                                                           100%[=========================================] 5,691,656   20.6K/s   in 3m 40s  

2016-09-19 11:43:22 (25.3 KB/s) - “cmake-2.8.8.tar.gz” saved [5691656/5691656]

[root@Centos tools]# ls

apr-1.5.2.tar.gz     apr-util-1.5.4.tar.gz      httpd-2.4.23     mysql-5.5.51.tar.gz    pcre-8.38.tar.gz     apr-1.5.2  apr-util-1.5.4    cmake-2.8.8.tar.gz

httpd-2.4.23.tar.gz  pcre-8.38

3、解压cmake软件并安装

[root@Centos tools]# tar zxf cmake-2.8.8.tar.gz

[root@Centos tools]# cd cmake-2.8.8

[root@Centos cmake-2.8.8]# ./configure 

———————————————- 中间内容省略

IR QT_QTCORE_LIBRARY) 

– Configuring done

– Generating done

– Build files have been written to: /Downloads/tools/cmake-2.8.8


CMake has bootstrapped.  Now run gmake.

[root@Centos cmake-2.8.8]# gmake

———————————————– 中间内容省略

[100%] Building CXX object Tests/FindPackageModeMakefileTest/CMakeFiles/foo.dir/foo.cpp.o

Linking CXX static library libfoo.a

[100%] Built target foo

[root@Centos cmake-2.8.8]# gmake install

——————————————– 中间内容省略

[root@Centos cmake-2.8.8]# echo $?

0               —————————– 查看是否有错误

至此cmake软件安装完成  

4、在安装MySQL之前先安装下面的组件

[root@Centos tools]# yum install ncurses-devel -y

Installed:

  ncurses-devel.x86_64 0:5.7-4.20090207.el6                                                      Dependency Updated:

 ncurses-base.x86_64 0:5.7-4.20090207.el6     

 ncurses-libs.x86_64 0:5.7-4.20090207.el6                         

Complete!

5、安装配置MySQL

添加用户与用户组

[root@Centos tools]# groupadd mysql

[root@Centos tools]# useradd mysql -s /sbin/nologin -g mysql -M

解压软件

[root@Centos tools]# tar zxf mysql-5.5.51.tar.gz

[root@Centos tools]# cd mysql-5.5.51

以cmake方式编译安装mysql软件

[root@Centos mysql-5.5.51]# 

cmake

-DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.51

-DNYSQL_DATADIR=/application/mysql-5.5.51/data

-DNYSQL_UNIX_ADDR=/application/mysql-5.5.51/tmp/mysql.sock

-DDEFAULT_CHARSET=gbk

-DDEFAULT_COLLATION=gbk_chinese_ci

-DENABLED_LOCAL_INFILE=ON

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_FEDERATED_STORAGE_ENGINE=1

Manually-specified variables were not used by the project:

   NYSQL_DATADIR

    NYSQL_UNIX_ADDR

– Build files have been written to: /Downloads/tools/mysql-5.5.51

[root@Centos mysql-5.5.51]# make

———————————– 中间内容省略

Linking CXX executable my_safe_process

[100%] Built target my_safe_process

– Installing: /application/mysql-5.5.51/man/man1/mysql_find_rows.1

– Installing: /application/mysql-5.5.51/man/man1/resolveip.1

– Installing: /application/mysql-5.5.51/man/man1/mysqlslap.1

– Installing: /application/mysql-5.5.51/man/man8/mysqld.8

[root@Centos mysql-5.5.51]# echo $?

0          ————————– 查看是否有错误

至此MySQL编译安装完成

创建一个软链接

[root@Centos mysql-5.5.51]# ln -s /application/mysql-5.5.51/application/mysql

查看配置文件

[root@Centos mysql-5.5.51]# ll support-files/my*.cnf

-rw-r–r–. 1 root root  4709 Sep 19 13:39 support-files/my-huge.cnf

-rw-r–r–. 1 root root19759 Sep19 13:39 support-files/my-innodb-heavy-4G.cnf

-rw-r–r–. 1 root root  4683 Sep 19 13:39 support-files/my-large.cnf

-rw-r–r–. 1 root root  4694 Sep 19 13:39 support-files/my-medium.cnf

-rw-r–r–. 1 root root  2858 Sep 19 13:39 support-files/my-small.cnf

选择具体的配置文件(生产环境可使用support-files/my-innodb-heavy-4G.cnf)

[root@Centos mysql-5.5.51]# cp support-files/my-small.cnf /etc/my.cnf

cp: overwrite `/etc/my.cnf’? y

配置环境变量

[root@Centos mysql-5.5.51]# echo ‘export PATH=/application/mysql/bin:$PATH’/etc/profile

[root@Centos mysql-5.5.51]# tail -1 /etc/profile

export PATH=/application/mysql/bin:$PATH

[root@Centos mysql-5.5.51]# source /etc/profile

[root@Centos mysql-5.5.51]# echo $PATH

/application/mysql/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sersync/bin:/root/bin:/usr/local/sersync/bin

初始化配置

[root@Centos mysql-5.5.51]# mkdir -p /application/mysql/data

建立数据目录

[root@Centos mysql-5.5.51]# chown -R mysql.mysql /application/mysql/*

给用户权限可以访问目录

[root@Centos mysql-5.5.51]# chmod -R 1777 /tmp

初始化

[root@Centos mysql-5.5.51]# /application/mysql/scripts/mysql_install_db –basedir=/application/mysql –datadir=/application/mysql/data –user=mysql

160919 15:19:47 [Note] /application/mysql/bin/mysqld (mysqld 5.5.51) starting as process 26246 …

OK

Filling help tables…

160919 15:19:48 [Note] /application/mysql/bin/mysqld (mysqld 5.5.51) starting as process 26253 …

OK

/application/mysql/bin/mysqladmin -u root password ‘new-password’

/application/mysql/bin/mysqladmin -u root -h Centos password ‘new-password’

————————————– 中间内容省略

Please report any problems at http://bugs.mysql.com/

如果初始出现错误提示,待解决之后,需删除以下内容

[root@Centos mysql-5.5.51]# rm -rf /application/mysql/data/*

启动服务

[root@Centos mysql-5.5.51]# cp support-files/mysql.server /etc/init.d/mysqld

将启动命令放到/etc/init.d/mysqld

[root@Centos mysql-5.5.51]# chmod 700 /etc/init.d/mysqld    给定权限

[root@Centos mysql-5.5.51]# /etc/init.d/mysqld start       启动服务

Starting MySQL….                                         [  OK  ]

[root@Centos mysql-5.5.51]# chkconfig mysqld on          

                                加入开机自启

[root@Centos mysql-5.5.51]# chkconfig –list mysqld      

                                查看启动情况

mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

五:MySQL登陆

[root@Centos mysql-5.5.51]# mysql

Welcome to the MySQL monitor.  Commands end with ; or g.

Your MySQL connection id is 1

Server version: 5.5.51 Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

mysql 

LAMP架构应用实战——MySQL服务
本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> LAMP架构应用实战——MySQL服务


 上一篇
LAMP架构应用实战—Apache服务mod_expires模块介绍 LAMP架构应用实战—Apache服务mod_expires模块介绍
LAMP架构应用实战—Apache服务 mod_expires缓存模块介绍 一:mod_expires模块介绍 此模块是允许通过Apache配置文件控制HTTP的“expires”和“cache-control”头的内容,用于控制服务器应答
2021-04-05
下一篇 
LAMP架构应用实战—Apache服务mod_deflate模块介绍 LAMP架构应用实战—Apache服务mod_deflate模块介绍
LAMP架构应用实战—Apache服务 mod_deflate压缩模块介绍 前面介绍了缓存模块mod_expires一些相关信息,今天来介绍下另一个比较常用的模块mod_deflate压缩模块 一:mod_deflate模块介绍 mod_d
2021-04-05