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

[经验分享] 源码编译安装Mysql5.7版本

[复制链接]

尚未签到

发表于 2018-10-6 07:17:53 | 显示全部楼层 |阅读模式
  1、源码编译安装mysql(5.7版本)
  下载地址:
  https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz
  #(MySQL从5.7版本之后,boost是必须的,建议把系统自带的boost库卸载,源码编译安装高版本
  Boost库是为C++语言标准库提供扩展的一些C++程序库的总称
  (1)环境准备:
  [root@Wg64 ~]# ls
  mysql-boost-5.7.18.tar.gz  nginx-1.10.3.tar.gz  nginx.conf  pcre-8.38.tar.gz  php-7.0.18.tar.gz
  
  #卸载系统自带boots库
  [root@Wg64 ~]# yum -y remove boost-*   
  #卸载系统自带的mysql
  [root@Wg64 ~]#  yum -y remove mysql
  [root@Wg64 ~]# rpm -qa | grep mysql
  mysql-libs-5.1.73-5.el6_6.x86_64
  [root@Wg64 ~]#  rpm -e --nodeps  mysql-libs-5.1.73-5.el6_6.x86_64
  [root@Wg64 ~]# rpm -qa | grep mysql
  #安装必要的资源包
  建议使用网络yum源,RHEL6.5光盘中自带的软件包版本不够,mysql-boost-5.7.18.tar.gz的编译对软件包的版本要求比较高,其中cmake的版本要不低于2.8
  #安装依赖包
  [root@Wg64 ~]# yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel
  
  (2)添加用户和组
  [root@Wg64 ~]# groupadd mysql
  [root@Wg64 ~]# useradd -M -s /sbin/nologin -r -g mysql mysql
  
  (3)创建安装目录和数据存放目录
  [root@Wg64 ~]# mkdir -p /server/mysql
  
  (4)上传源码包 并解压源码包
  [root@HK64 LAMP]# ls
DSC0000.jpg

  
  [root@Wg64 ~]# tar zxf mysql-boost-5.7.18.tar.gz -C /server/
  
  (5)将boost移到/server/
DSC0001.jpg

  [root@HK64 server]# cd mysql-5.7.18/   (包含boost库的文件)
DSC0002.jpg

  #将boots文件移动到/server/mysql/下
  [root@Wg64 mysql-5.7.18]# mv boost/ /server/mysql
  [root@Wg64 mysql-5.7.18]# cd /server/mysql
  [root@Wg64 mysql]# ls
  boost
  
  (6)配置参数
  [root@Wg64 mysql]# cd ../
  [root@Wg64 server]# ls
  mysql  mysql-5.7.18
  [root@Wg64 server]# cd mysql-5.7.18/
  [root@Wg64 mysql-5.7.18]#cmake -DCMAKE_INSTALL_PREFIX=/server/mysql  -DMYSQL_DATADIR=/server/mysql/data -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/server/mysql/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=l -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/server/mysql/boost
DSC0003.jpg

  这些编译参数的帮助寻找方法:
  http://www.mysql.com→→Documentation→→选择对应的版本(5.7)Installation & Upgrades→→Installing MySQL from Source →→MySQL Source-Configuration Options
  最终的URL https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
  
  DCMAKE_INSTALL_PREFIX:指定MySQL程序的安装目录,默认/usr/local/mysql
  DEFAULT_CHARSET:指定服务器默认字符集,默认latin1
  DEFAULT_COLLATION:指定服务器默认的校对规则,默认latin1_general_ci
  ENABLED_LOCAL_INFILE:指定是否允许本地执行LOAD DATA INFILE,默认OFF
  WITH_COMMENT:指定编译备注信息
  WITH_xxx_STORAGE_ENGINE:指定静态编译到mysql的存储引擎,MyISAM,MERGE,MEMBER以及CSV四种引擎默认即被编译至服务器,不需要特别指定。
  WITHOUT_xxx_STORAGE_ENGINE:指定不编译的存储引擎
  SYSCONFDIR:初始化参数文件目录
  MYSQL_DATADIR:数据文件目录
  MYSQL_TCP_PORT:服务端口号,默认3306
  MYSQL_UNIX_ADDR:socket文件路径,默认/tmp/mysql.sock
  
  编译
  mysql-5.7.18.tar.gz编译时会占用大量的系统资源,建议使用多个核心同时进行编译,否则可能会编译失败
  
  (7)编译
  #查看服务器cpu数
  [root@Wg64 mysql-5.7.18]# grep processor /proc/cpuinfo | wc -l
  2
  [root@Wg64 mysql-5.7.18]# make -j 2
  (8)安装
  [root@xuegod63 mysql-5.7.18]# make install
  
  (9)修改目录权限
  [root@Wg64 mysql-5.7.18]# chown -R mysql:mysql /server/mysql/
  
  (10)生成配置文件
  #将原服务器配置文件移动备份或删除
  [root@Wg64 mysql-5.7.18]# mv /etc/my.cnf{,.bak}
  
  #因5.7版本无此配置模板文件/server/mysql/support-files/my-default.cnf
  #自行编写my.cnf文件
  [root@Wg64 mysql-5.7.18]#vim /etc/my.cnf
  [mysqld]
  sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  #default
  user = mysql
  basedir = /server/mysql
  datadir = /server/mysql/data
  port = 3306
  pid-file = /server/mysql/data/mysql.pid
  socket = /server/mysql/mysql.sock
  character-set-server=utf8
  [client]
  socket = /server/mysql/mysql.sock
  
  (11)生成服务启动脚本
  grep chkconfig ./* -R  -color
DSC0004.jpg

  [root@Wg64 mysql]# cp /server/mysql/support-files/mysql.server /etc/init.d/mysqld
  [root@Wg64 mysql]# chmod +x /etc/init.d/mysqld
  [root@Wg64 mysql]# chkconfig --add mysqld
  [root@Wg64 mysql]# chkconfig mysqld on
  [root@Wg64 mysql]# chkconfig --list mysqld
  mysqld            0:off       1:off       2:on 3:on 4:on 5:on 6:off
  
  (12)初始化数据库
  [root@Wg64 mysql]# /server/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/server/mysql --datadir=/server/mysql/data  
DSC0005.jpg

  
  (13)启动服务
  [root@Wg64 mysql]# service mysqld restart
  ERROR! MySQL server PID file could not be found!
  Starting MySQL.Logging to '/server/mysql/data/Wg64.err'.
  SUCCESS!
  [root@Wg64 mysql]# service mysqld restart
  Shutting down MySQL.. SUCCESS!
  Starting MySQL. SUCCESS!
  
  (15)优化调用命令路径
  #添加path路径: vim /etc/profile 添加下面2行 在文件的结尾
  export MYSQL_HOME=/server/mysql
  export PATH=$PATH:$MYSQL_HOME/bin
DSC0006.jpg

  #使修改生效
  source /etc/profile
  
  
  [root@Wg64 mysql]# ln -s /server/mysql/bin/* /usr/local/bin/
  
  
  (14)修改mysql密码测试登入:
  
  [root@Wg64 ~]# mysqladmin -u root password "123456"
  mysqladmin: [Warning] Using a password on the command line interface can be insecure.
  Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
  测试登入成功:
DSC0007.jpg

  
  
  源码编译LNMP请参考链接:http://blog.51cto.com/13719714/2110940
  源码编译LAMP请参考链接:http://blog.51cto.com/13719714/2109227
  Apache基础调优请参考链接:http://blog.51cto.com/13719714/2109007


运维网声明 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-612934-1-1.html 上篇帖子: mysql四-1:单表查询 下篇帖子: 解决Mysql读写分离数据延迟
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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