LAMP架构应用实战——MySQL服务
LAMP架构应用实战——MySQL服务
MySQL是一种开源的关系型数据库产品,具有开放式的架构,由瑞典MySQL AB公司开发的,后被SUN公司收购,转至最后被Oracle公司收购
MySQL是传统的关系型数据库,它的开放式架构使得用户有更强的选择性,开源代码也是当下大多互联网公司的选择,MySQL在不断的发展中,功能也越来越强大,性能也越来越好,支持的平台也越来越多
一:MySQL版本
MySQL目前有很多的版本,有以下几种
1、Alpha版本:一般只在软件开发公司内部运行,不对外公开
2、Beta版本:完成功能的开发和所有的测试工作之后的产品,不会存在较大的功能或性能BUG
3、RC版本:属于生产环境发布前的一个版本,是测试版本而收集到的BUG或不足之处,然后进行修复和完善
4、GA版本:软件产品正式发布的版本,生产环境中使用的版本
二: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>