• 开源服务专题之--------mysql的编译安装


    为什么选择MySQL

      1:mysql性能卓越,服务稳定,很少出现异常宕机

     2:mysql开源免费,无版权制约,自主性及使用成本低

     3:产品耦合度,mysql支持多种操作系统,支持多开发语言,特别是php

     4:技术积累,庞大的活跃的社区,

     5:软件体积小,安装简单,易于维护

    MySQL数据库分类与版本升级

      MySQL官网http://www.mysql.com/,MySQL版本采用双授权政策,和大多数开源产品路线一样,分为社区版和商业版,并且这两个版本又分别分成四个版本依次发布,Alpha版、Beta版、RC版和GA版

      GA版即为正式版

      1:社区版和企业版的区别

        1) 首先价格上,社区版完全免费,企业版需要高额的费用

        2) 技术上,企业版具有MySQL企业级服务器、MySQL企业级系统监控工具。企业版经过严格的测试认证,相对企业版,社区版的开发测试环境没有那么严格

        3)服务方面,社区版mysql官方不提供任何技术支持,使用过程出现任何意外不负任何责任,企业版与之相反

        4)商业版不支持GPL协议

      2:MySQL产品路线

        三条产品线

        1)5.0.XX到5.1.XX产品系列

          这条产品线继续完善改进用户体验和性能,同时增加新功能,是mysql早期产品的延续,如rhel6自带的mysql

        2)5.4.XX开始到5.7.XX产品系列

          mysql社区和第三方公司percona整合的,吸收新的算法和存储引擎,现在已经到了5.6.26

        3)6.0.XX到7.X.XX产品系列

          主要是为了更好的推广MySQL Cluster版本,提供Cluster版本的性能和稳定性,这个版本比较少公司用,原因是出来太晚了

    MySQL安装

    生产环境怎么选择MySQL版本

      1:选择稳定版 选择社区的GA版

      2:产品线,主要是5.1和5.5 ,多数5.5

      3:选择MySQL GA版发布6个月以上的版本

      4:最好向后较长时间没有更新发布的版本

      5:与开发人员使用版本的兼容

      6:测试环境跑3-6个月

      7:到生产环境非核心业务跑几个月

    MySQL安装方法

      1:使用二进制方式安装,rpm/yum

      2: 源码编译,产品线路1用普通编译安装,线路2cmake编译安装5.5/6/7

      3:批量部署,src.rpm  通过spec文件

    环境:CentOS6.5x86-64(此为本文环境,但实际上包括但不限于),提前配置好本地和在线yum源,准备好mysql的源码包(本文mysql-5.5.32)

    源码编译安装普通的编译安装,在nginx中已经给出了详细的过程,本文将重点讲述mysql的cmake的编译安装,以mysql-5.5.32为例。

    1.安装cmake编译工具

    [root@xiaolyu76 ~]# yum install cmake -y

    2.下载MySQL

    [root@xiaolyu76 ~]# wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.32.tar.gz

    3. 安装依赖包

    [root@xiaolyu76 ~]# yum install ncurses-devel –y    //用于终端操作的开发包

    4. 添加用户

    [root@xiaolyu76 ~]# useradd -u 8001 -s /sbin/nologin mysql

    5. 创建数据库存放目录

    [root@xiaolyu76 ~]# mkdir /data
    [root@xiaolyu76 ~]# tar zxf mysql-5.5.32.tar.gz
    [root@xiaolyu76 ~]# cd mysql-5.5.32
    [root@xiaolyu76 mysql-5.5.32]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/data -DMYSQL_USER=mysql
    utf8 -DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/data -DMYSQL_USER=mysql
    [root@xiaolyu76 mysql-5.5.32]# make -j 4 && make install -j 4 
    //指使用4个cpu核心数,如我们的双核四线程,就可以写4
    
    

    参数说明:

    -DCMAKE_INSTALL_PREFIX           数据文件存放目录

    -DMYSQL_UNIX_ADDR                sock文件路径

    -DDEFAULT_CHARSET                默认字符集

    -DDEFAULT_COLLATION           默认字符校对

    -DWITH_EXTRA_CHARSETS           扩展字符支持  默认all

    -DWITH_storage_STORAGE_ENGINE    存储引擎的支持,默认支持MyISAM,MERGE,MEMORY,CVS存储引擎

    -DENABLED_LOCAL_INFILE=1         启用加载本地数据

    -DMYSQL_DATADIR                  数据存放目录

    -DMYSQL_USER                     mysql运行用户

    扩展:

    -DWITH_PARTITION_STORAGE_ENGINE=1   支持分区表

    -DINSTALL_LIBDIR=dir_name

    -DSYSCONFDIR=dir_name    The default my.cnf option file directory

    7. 授权用户

    [root@xiaolyu76 mysql-5.5.32]# chown -R mysql:mysql /usr/local/mysql/
    [root@xiaolyu76 mysql-5.5.32]# chown -R mysql:mysql /data
    [root@xiaolyu76 mysql-5.5.32]# chmod 1777 /tmp

     

     8. 创建配置文件

    [root@xiaolyu76 mysql-5.5.32]# cp support-files/my-large.cnf /etc/my.cnf

    9. 设置环境变量

    [root@xiaolyu76 mysql-5.5.32]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile 
    [root@xiaolyu76 mysql-5.5.32]# source !$

     10. 创建服务启动脚本,添加开机启动

    [root@xiaolyu76 mysql-5.5.32]# cp support-files/mysql.server/etc/init.d/mysqld 
    [root@xiaolyu76 mysql-5.5.32]# chmod +x /etc/init.d/mysqld //给脚本添加执行权限 
    [root@xiaolyu76 mysql-5.5.32]# vim /etc/init.d/mysqld 
    
    //服务启动脚本要修改以下两个参数 
    basedir=/usr/local/mysql //MySQL安装目录 
    datadir= /data //数据存放目录 
    
    [root@xiaolyu76 mysql-5.5.32]# chkconfig mysqld on //添加开机启动

     11. 初始化数据库

    [root@xiaolyu76 mysql-5.5.32]# chmod +x scripts/mysql_install_db 
    [root@xiaolyu76 mysql-5.5.32]# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data--user=mysql

    //看到两个ok就成功

    12. 初始化安全配置

    [root@xiaolyu76 mysql-5.5.32]#  service mysqld start  //启动mysql服务。
    [root@xiaolyu76 mysql-5.5.32]#  service mysqld status  //察看mysql服务的状态
    [root@xiaolyu76 mysql-5.5.32]#  mysql_secure_installation  安全初始化配置
    
    //注意: 初始化安全配置之前,一定要启动mysql服务 

     

    13. 创建用户和数据库

    [root@xiaolyu76 mysql-5.5.32]# mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 19
    Server version: 5.5.32-log Source distribution
    
    Copyright (c) 2000, 2013, 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> grant all privileges on *.* to system@'%' identified by '123456' with grant option;
    //创建system用户赋予它在任何服务器上登录的权限。 %代表任意的server。localhost只能在本机上登录。

     

    14. 测试mysql是否安装成功

    创建game数据库,并用system用户在宿主机上用第三方工具登录

    create database game; 

     ok, 测试成功,表明我前面的mysql数据库cmake编译安装成功。

  • 相关阅读:
    Python列表及元组操作
    Python内建函数
    Python字符串相关
    检测浏览器是否安装FLASH插件
    瀑布流源码
    addEventListener 简析
    半角占一个字符,全角占两个字符
    替换class名
    正则表达式 验证是否全是空格
    图片旋转
  • 原文地址:https://www.cnblogs.com/jasmine-Jobs/p/5971878.html
Copyright © 2020-2023  润新知