| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
GraGDGA
8年前发布

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

   <h2><strong>为什么选择MySQL</strong></h2>    <p>1:mysql性能卓越,服务稳定,很少出现异常宕机</p>    <p>2:mysql开源免费,无版权制约,自主性及使用成本低</p>    <p>3:产品耦合度,mysql支持多种操作系统,支持多开发语言,特别是php</p>    <p>4:技术积累,庞大的活跃的社区,</p>    <p>5:软件体积小,安装简单,易于维护</p>    <h2><strong>MySQL数据库分类与版本升级</strong></h2>    <p>MySQL官网http://www.mysql.com/,MySQL版本采用双授权政策,和大多数开源产品路线一样,分为社区版和商业版,并且这两个版本又分别分成四个版本依次发布,Alpha版、Beta版、RC版和GA版</p>    <p>GA版即为正式版</p>    <h2><strong>1:社区版和企业版的区别</strong></h2>    <p>1) 首先价格上,社区版完全免费,企业版需要高额的费用</p>    <p>2) 技术上,企业版具有MySQL企业级服务器、MySQL企业级系统监控工具。企业版经过严格的测试认证,相对企业版,社区版的开发测试环境没有那么严格</p>    <p>3)服务方面,社区版mysql官方不提供任何技术支持,使用过程出现任何意外不负任何责任,企业版与之相反</p>    <p>4)商业版不支持GPL协议</p>    <h2><strong>2:MySQL产品路线</strong></h2>    <p>三条产品线</p>    <p>1)5.0.XX到5.1.XX产品系列</p>    <p>这条产品线继续完善改进用户体验和性能,同时增加新功能,是mysql早期产品的延续,如rhel6自带的mysql</p>    <p>2)5.4.XX开始到5.7.XX产品系列</p>    <p>mysql社区和第三方公司percona整合的,吸收新的算法和存储引擎,现在已经到了5.6.26</p>    <p>3)6.0.XX到7.X.XX产品系列</p>    <p>主要是为了更好的推广MySQL Cluster版本,提供Cluster版本的性能和稳定性,这个版本比较少公司用,原因是出来太晚了</p>    <h2><strong>MySQL安装</strong></h2>    <h3><strong>生产环境怎么选择MySQL版本</strong></h3>    <p>1:选择稳定版 选择社区的GA版</p>    <p>2:产品线,主要是5.1和5.5 ,多数5.5</p>    <p>3:选择MySQL GA版发布6个月以上的版本</p>    <p>4:最好向后较长时间没有更新发布的版本</p>    <p>5:与开发人员使用版本的兼容</p>    <p>6:测试环境跑3-6个月</p>    <p>7:到生产环境非核心业务跑几个月</p>    <h2><strong>MySQL 安装方法</strong></h2>    <p>1 :使用二进制方式安装, rpm/yum</p>    <p>2: 源码编译,产品线路 1 用普通编译安装,线路 2 用 cmake 编译安装 5.5/6/7</p>    <p>3 :批量部署, src.rpm  通过 spec 文件</p>    <p>环境:CentOS6.5x86-64(此为本文环境,但实际上包括但不限于),提前配置好本地和在线yum源,准备好mysql的源码包(本文mysql-5.5.32)</p>    <p>源码编译安装普通的编译安装,在nginx中已经给出了详细的过程,本文将重点讲述mysql的cmake的编译安装,以mysql-5.5.32为例。</p>    <h2><strong>1.安装 cmake 编译工具</strong></h2>    <pre>  [root@xiaolyu76 ~]# yum install cmake -y  </pre>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/de8d5438a5230d4dbe87d15d55e4c16e.png"></p>    <h2><strong>2.下载 MySQL</strong></h2>    <pre>  [root@xiaolyu76 ~]# wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.32.tar.gz  </pre>    <h2><strong>3. 安装依赖包</strong></h2>    <pre>  [root@xiaolyu76 ~]# yum install ncurses-devel –y    //用于终端操作的开发包  </pre>    <h2><strong>4. 添加用户</strong></h2>    <pre>  [root@xiaolyu76 ~]# useradd -u 8001 -s /sbin/nologin mysql  </pre>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/2359815a1b896f1a3e3b8adfa33d963a.png"></p>    <h2><strong>5. 创建数据库存放目录</strong></h2>    <pre>  [root@xiaolyu76 ~]# mkdir /data  [root@xiaolyu76 ~]# tar zxf mysql-5.5.32.tar.gz  [root@xiaolyu76 ~]# cd mysql-5.5.32  </pre>    <pre>  [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  </pre>    <pre>  [root@xiaolyu76 mysql-5.5.32]# make -j 4 && make install -j 4   //指使用4个cpu核心数,如我们的双核四线程,就可以写4  </pre>    <p>参数说明:</p>    <p>-DCMAKE_INSTALL_PREFIX           数据文件存放目录</p>    <p>-DMYSQL_UNIX_ADDR                sock 文件路径</p>    <p>-DDEFAULT_CHARSET                 默认字符集</p>    <p>-DDEFAULT_COLLATION       默认字符校对</p>    <p>-DWITH_EXTRA_CHARSETS         扩展字符支持   默认 all</p>    <p>-DWITH_storage_STORAGE_ENGINE    存储引擎的支持 , 默认支持 MyISAM,MERGE,MEMORY,CVS 存储引擎</p>    <p>-DENABLED_LOCAL_INFILE=1         启用加载本地数据</p>    <p>-DMYSQL_DATADIR                  数据存放目录</p>    <p>-DMYSQL_USER                     mysql 运行用户</p>    <p>扩展:</p>    <p>-DWITH_PARTITION_STORAGE_ENGINE=1   支持分区表</p>    <p>-DINSTALL_LIBDIR= <em>dir_name</em></p>    <p>-DSYSCONFDIR= <em>dir_name   </em> The default my.cnf option file directory</p>    <p><img src="https://simg.open-open.com/show/33c428cf79d883da70de6c0b39c6e406.png"></p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/d2f56c6571d4895d1e1b490b65356b95.png"></p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/d0edae13e8f340a846fb36716a87465c.png"></p>    <h2><strong>7. 授权用户</strong></h2>    <pre>  [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  </pre>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/083502be87a1d1ea6ea51321087681fd.png"></p>    <h2><strong>8. 创建配置文件</strong></h2>    <pre>  [root@xiaolyu76 mysql-5.5.32]# cp support-files/my-large.cnf /etc/my.cnf  </pre>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/75a4b1166dfd24169a52e97124263cb3.png"></p>    <h2><strong>9. 设置环境变量</strong></h2>    <pre>  [root@xiaolyu76 mysql-5.5.32]# echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile   [root@xiaolyu76 mysql-5.5.32]# source !$  </pre>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/7bb65e34dc26a11387b97e6f36319fc6.png"></p>    <h2><strong>10. 创建服务启动脚本,添加开机启动</strong></h2>    <pre>  [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 //添加开机启动  </pre>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/3dee3a22c5fd92797b3cccbf95e02a44.png"></p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/92aff8dda6ccf86d0cd5208e847641ed.png"></p>    <h2><strong>11. 初始化数据库</strong></h2>    <pre>  [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就成功  </pre>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/7d85504969619eabad834d6b1901b63c.png"></p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/52e79e2a83263d9a4dd9f5ec5f592ab6.png"></p>    <h2><strong>12. 初始化安全配置</strong></h2>    <pre>  [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服务   </pre>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/399e05b6df20f4319afc7a089e833ea5.png"></p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/3ebf54b96f1c39a100a0943090f7cc29.png"></p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/902e76894de76bb3afb47eceee286629.png"></p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/ecd9e2e7b79820c0eb4eab66a7d3af48.png"></p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/2f3d776ce299b4d178fbab20d8b58cbf.png"></p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/fc91032662393e49dce76c66719c0d59.png"></p>    <h2><strong>13. 创建用户和数据库</strong></h2>    <pre>  [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;  </pre>    <pre>  //创建system用户赋予它在任何服务器上登录的权限。 %代表任意的server。localhost只能在本机上登录。</pre>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/d17c7d49ff6f8f86e24aec1537671443.png"></p>    <h2><strong>14. 测试mysql是否安装成功</strong></h2>    <p>创建game数据库,并用system用户在宿主机上用第三方工具登录</p>    <p>create database game; </p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/a1b6aa11f04705f18bf5e9d52ab48a4c.png"></p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/1142f538c777fd660a8e113da49c56e4.png"></p>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/f1e5137c4c2405c1ee1e97f1d7597666.png"></p>    <p>ok, 测试成功,表明我前面的mysql数据库cmake编译安装成功。</p>    <p> </p>    <p>来自:http://www.cnblogs.com/jasmine-Jobs/p/5971878.html</p>    <p> </p>    
 本文由用户 GraGDGA 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1476844031956.html
MySQL 开源