设为首页 收藏本站
查看: 643|回复: 0

[经验分享] Linux RedHat 6.4 MySQL5.6源码包安装

[复制链接]

尚未签到

发表于 2018-10-8 08:13:27 | 显示全部楼层 |阅读模式
  一、准备工作:
  1、查询系统中已安装的MySQL相关软件包
  [root@MySQL ~]# rpm -qa|grep -i  mysql
  2、如果MySQL已开启,停止运行MySQL服务器
  [root@MySQL ~]#service mysqld stop
  3、卸载系统包
  [root@MySQL ~]# rpm -e perl-DBD-MySQL-4.013-3.el6.x86_64 --nodeps
  [root@MySQL ~]# rpm -e mysql-libs-5.1.66-2.el6_3.x86_64 --nodeps
  [root@MySQL ~]# rpm -e qt-mysql-4.6.2-25.el6.x86_64 --nodeps
  二、安装编译
  1、MySQL编译依赖
  (1)、必备的包和工具
  gcc/g++ :MySQL 5.6开始,需要使用g++进行编译。
  cmake  :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本。
  bison   :MySQL语法解析器需要使用bison进行编译。
  ncurses-devel :用于终端操作的开发包。
  zlib    :MySQL使用zlib进行压缩。
  (2)、功能需要的包
  libxml   :用于XML输入输出方式的支持。
  openssl  :使用openssl安全套接字方式通信。
  dtrace   :用于诊断MySQL问题。
  2、MySQL基本编译参数
  cmake 参数说明手册参考:http://www.blogjava.net/kelly859/archive/2012/09/04/387005.html
  --CMAKE_BUILD_TYPE  //编译的版本类型:RelWithDebInfo和Debug,不同之处是RelWithDebInfo会进行优化。
  --CMAKE_INSTALL_PREFIX //指定make install安装的目标路径。
  --SYSCONFDIR //指定配置文件的默认路径。
  --MYSQL_DATADIR //指定data目录的默认路径.
  --WITH_DEBUG // 指定是否有debugging信息,一般用于源码调试时,打开WITH_DEBUG,生产环境关闭。
  --ENABLED_PROFILING //指定是否可以使用show profile显示操作执行的详细信息。
  --DEFAULT_CHARSET //指定默认字符集,可以在启动的配置文件中指定。
  --DEFAULT_COLLATION // 指定默认字符比较、排序的规则
  --WITH_EXTRA_CHARSETS //指定其他可能使用的字符集。
  --WITH_SSL //指定SSL的类型,从5.6.6开始默认bundled类型,此外也可以指定SSL库的路径地址。
  --WITH_ZLIB //指定zlib的类型,用于压缩功能。
  --WITH_storage_STORAGE_ENGINE //指定编译支持的存储引擎,默认支持MyISAM,MERGE,MEMORY,CSV存储引擎。
  --ENABLED_LOCAL_INFILE //指定是否允许使用load data infile功能。
  --WITH_EMBEDDED_SERVER //指定是否编译libmysqld嵌入式库
  --INSTALL_LAYOUT //指定安装的布局类型。
  3、安装信息
  操作系统 RedHat 6.4
  [root@MySQL ~]# cat /etc/issue

  Red Hat Enterprise Linux Server>  MySQL 版本 5.6.23
  下载地址:http://www.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz/from/http://cdn.mysql.com/
  安装目录为:/app/mysql/
  数据目录为:/data/mysqldata
  存储引擎包括:MEMORY,MyISAM,InnoDB等
  字符集为:UTF8
  4、安装源码说依赖的库
  [root@MySQL ~]# yum -y install gcc gcc-c++ autoconf   zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
  5、下载所需软件包:
  #将下载的文件都放到/opt目录下,如下
  cmake:http://www.cmake.org/files/v2.8/cmake-2.8.11.1.tar.gz
  bison:http://ftp.gnu.org/gnu/bison/bison-2.7.tar.gz
  m4:http://ftp.gnu.org/gnu/m4/m4-1.4.16.tar.gz
  6、所需包
  安装cmake编译器
  [root@MySQL ~]# cd /opt
  [root@MySQL ~]# tar -xvf cmake-2.8.11.1.tar.gz
  [root@MySQL ~]# cd cmake-2.8.11.1
  [root@MySQL ~]# ./bootstrap
  [root@MySQL ~]# make && make install
  安装m4
  [root@MySQL ~]# tar -xvf m4-1.4.16.tar.gz
  [root@MySQL ~]# cd m4-1.4.16
  [root@MySQL ~]# ./configure && make && make install
  安装bison
  [root@MySQL ~]# tar -xvf bison-2.7.tar.gz
  [root@MySQL ~]# cd bison-2.7
  [root@MySQL ~]# ./configure && make && make install
  7、创建mysql用户与组,相关目录
  [root@MySQL ~]# /usr/sbin/groupadd mysql
  [root@MySQL ~]# /usr/sbin/useradd -g mysql mysql
  [root@MySQL ~]# mkdir -p /app/mysql
  [root@MySQL ~]# chown -R mysql:mysql /app/mysql
  [root@MySQL ~]# mkdir -p /data/mysqldata
  [root@MySQL ~]# chown -R mysql:mysql /data/mysqldata/
  8、编译安装mysql
  [root@MySQL opt]# tar -zxvf mysql-5.6.23.tar.gz
  [root@MySQL opt]# cd mysql-5.6.23
  [root@MySQL mysql-5.6.23]# export CFLAGS="-O3 -g -fno-exceptions -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"
  [root@MySQL mysql-5.6.23]# export CXXFLAGS="-O3 -g -fno-exceptions -fno-rtti -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"
  [root@MySQL mysql-5.6.23]# export CXX=g++
  [root@MySQL mysql-5.6.23]# cmake -DCMAKE_INSTALL_PREFIX=/app/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
  -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=utf8,gbk  \
  -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 \
  -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/mysqldata/ -DSYSCONFDIR=/etc \
  -DWITH_SSL=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1 \
  [root@MySQL mysql-5.6.23]# make && make install
  9、初始化数据库
  拷贝mysql配置文件
  [root@MySQL mysql-5.6.23]# cp support-files/my-default.cnf /etc/my.cnf
  [root@MySQL ~]# cd /app/mysql/scripts/
  [root@MySQL scripts]# ./mysql_install_db --user=mysql  --basedir=/app/mysql --datadir=/data/mysqldata/
  10、配置环境变量
  [root@MySQL ~]# vim /etc/profile
  PATH=/app/mysql/bin:/app/mysql/lib:$PATH
  export PATH
  [root@MySQL ~]# source /etc/profile
  11、设置开机启动
  [root@MySQL mysql-5.6.23]# cp support-files/mysql.server /etc/init.d/mysqld
  [root@MySQL mysql-5.6.23]# chkconfig --add mysqld
  [root@MySQL mysql-5.6.23]# chkconfig --list mysqld
  mysqld          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
  [root@MySQL mysql-5.6.23]# chmod 755 /etc/init.d/mysqld
  [root@MySQL mysql-5.6.23]# service mysqld start
  Starting MySQL..[确定]
  12、初始化root密码
  [root@MySQL ~]#/app/mysql/bin/mysqladmin -u root password '123456'
  遇到问题 如果不能初始化密码,出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
  [root@MySQL ~]# /etc/init.d/mysql stop
  [root@MySQL ~]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
  [root@MySQL ~]# mysql
  UPDATE user SET password=PASSWORD('123456') WHERE user='root';
  FLUSH PRIVILEGES;
  [root@MySQL ~]# mysql -uroot -p123456
  13、访问授权
  [root@MySQL ~]#mysql/bin/mysql -uroot -p         #敲入该命令后,屏幕会提示输入密码,输入上一步设置的密码
  删除root密码为空的记录
  mysql> use mysql;
  mysql> delete from user where password='';
  mysql> flush privileges;
  配置mysql允许root远程登录                                  #登录

  mysql> grant all privileges on *.* to root@'%'>  mysql> flush privileges;
  mysql> select User,Password,Host from user;


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-615634-1-1.html 上篇帖子: MySQL 5.6对已有Mysql单实例的机器,再添加mysql数据库,实现单机多实例 下篇帖子: MySQL数据库多种安装方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表