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

[经验分享] Linux下源码安装mysql5.6

[复制链接]

尚未签到

发表于 2018-10-10 13:43:44 | 显示全部楼层 |阅读模式
  1、下载mysql到/usr/local/src/
cd /usr/local/src/  
wget http://distfiles.macports.org/cmake/cmake-2.8.12.tar.gz
  
wget http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.6/mysql-5.6.35.tar.gz
  2、编译安装cmake编译安装mysql(最新版本都需要cmake 编译安装)
[root@server2 src]# tar -zxvfcmake-2.8.12.tar.gz  
[root@server2 src]# cd cmake-2.8.12
  
[root@server2 cmake-2.8.12]# ./bootstrap
  Log of errors: /usr/local/src/cmake-2.8.12/Bootstrap.cmk/cmake_bootstrap.log
  解决办法:
  安装LAMP所需要的环境
yum -y install make gcc* gcc-c++ zlib-devel libtool libtool-ltdllibtool-ltdl-devel bison ncurses-devel  安装好所需要的环境包后,重新执行./bootstrap
[root@server2 cmake-2.8.12]# ./bootstrap  
[root@server2 cmake-2.8.12]# echo $?
  
0
  
[root@server2 cmake-2.8.12]# gmake
  
[root@server2 cmake-2.8.12]# echo $?
  
0
  
[root@server2 cmake-2.8.12]# gmake install
  
[root@server2 cmake-2.8.12]# echo $?
  
0
  3、建立mysql用户
[root@server1 src]# groupadd mysql  
[root@server1 src]# useradd -g mysql -s/sbin/nologin -M mysql
  
[root@server1 src]# id mysql
  
uid=500(mysql) gid=500(mysql)groups=500(mysql)
  4、创建数据库存放的目录,并授权
[root@server1 mysql]# mkdir -p /data/mysql  
[root@server1 mysql]# chown -R mysql.mysql /data/mysql/
  
[root@server1 mysql]# chown -R mysql.mysql /usr/local/mysql/.    //数据库安装路径
  5、编译安装mysql
[root@server2 src]# tar -zxvfmysql-5.6.35.tar.gz  
[root@server2 src]# cd mysql-5.6.35
  
[root@server2 mysql-5.6.35]# cmake \
  
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\
  
-DMYSQL_UNIX_ADDR=/data/mysql/mysql_3306.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_EENGINE=1 \
  
-DWITH_READLINE=1 \
  
-DMYSQL_DATADIR=/data/mysql/ \
  
-DMYSQL_TCP_PORT=3306
  参数说明:
  -DCMAKE_INSTALL_PREFIX             #指定安装路径
  -DMYSQL_UNIX_ADDR                    #数据库socket文件路径
  -DDEFAULT_CHARSET                      #默认字符集
  -DDEFAULT_COLLATION                 #默认编码
  -DWITH_EXTRA_CHARSETS             #额外编码
  -DWITH_PERFSCHEMA_STORAGE_ENGINE                       #启用PERFSCHEMA引擎支持
  -DWITH_FEDERATED_STORAGE_ENGINE                          #启用FEDERATED引擎支持
  -DWITH_PARTITION_STORAGE_ENGINE                           #启用PARTITION引擎支持
  -DWITH_ARCHIVE_STORAGE_EENGINE                             #启用ARCHIVE引擎支持
  -DWITH_READLINE               #使用readline功能
  -DMYSQL_DATADIR                         #数据库数据存放目录
  -DMYSQL_TCP_PORT                       #数据库TCP/IP端口
[root@server2 mysql-5.6.35]# echo $?  
0
  
[root@server2 mysql-5.6.35]# make
  
[root@server2 mysql-5.6.35]# echo $?
  
0
  
[root@server2 mysql-5.6.35]# make install
  
[root@server2 mysql-5.6.35]# echo $?
  
0
  bin              目录包含客户端工具及mysqld
  data           目录存放数据库数据文件及日志文件
  docs          目录包含info格式的用户手册
  include      目录包含mysql头文件
  lib                       目录包含相关lib库
  mysql-test         目录包含mysql的一些测试脚本文件
  scripts      目录存放mysql_install_db初始化文件
  share         目录存放各种支持文件,包括错误信息,语言编码支持,sql安装脚本等。
  Sqlbench           目录存放benchmark脚本
  support-file                目录存放mysql配置文件模板
  6、复制mysql配置文件到/etc/my.cnf
[root@server2 mysql]# rm –f /etc/my.cnf  
[root@server2 mysql]# cd support-files/
  
[root@server2 support-files]# ls
  
binary-configure  magic  mysqld_multi.server mysql-log-rotate  mysql.server
  
[root@server2 support-files]# cp /usr/local/mysql/support-files/ /etc/my.cnf
  编辑/etc/my.cnf配置文件,添加以下行
user = mysql                        //用户  
basedir = /usr/local/mysql          //基本目录
  
datadir = /data/mysql               //数据库保存目录
  
port = 3306              //数据库端口
  
socket = /data/mysql/mysql_3306.sock
  
log-error = /data/mysql/mysql_error.log     //数据库错误日志文件
  
pid-file = /data/mysql/mysql.pid            //数据库进程占用PID号
  

  
#内存使用限制
  
performance_schema_max_table_instances=400
  
table_definition_cache=400
  
table_open_cache=256
  7、初始化数据库
[root@server2 mysql]#/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql/  
[root@server2 mysql]# echo $?
  
0
  初始化数据库常见的问题:   系统版本与数据库版本不一致,导致初始化数据库出错。
  8、复制mysql启动脚本到/etc/init.d/mysqld
[root@server2 support-files]# cp /usr/local/mysql/support-files/mysql.server/etc/init.d/mysqld  
[root@server2 support-files]# chmod +x/etc/init.d/mysqld
  9、加入开机自启动mysql服务
[root@server2 mysql]# chmod +x/etc/init.d/mysqld  
[root@server2 mysql]# chkconfig --addmysqld
  
[root@server2 mysql]# chkconfig –level 35 mysqldon
  10、  启动mysql服务
[root@server2 mysql]# /etc/init.d/mysqldstart  
Starting MySQL.                                            [   ]
  11、  msyql服务启动后,查看/data/mysql多了一些文件
[root@server2 mysql]# ls /data/mysql/  
auto.cnf ib_logfile0  mysql     mysql_error.log  performance_schema
  
ibdata1  ib_logfile1  mysql_3306.sock  mysql.pid        test
  

  
[root@server2 mysql]# netstat -lnapt |grepmysqld
  
tcp       0      0 :::3306      :::*        LISTEN      3195/mysqld
  12、加入环境变量
  [root@server2 ~]# vim/etc/profile.d/mysql.sh
#!/bin/bash  
exportPATH="$PATH:/usr/local/mysql/bin"
  [root@server2 ~]# source/etc/profile.d/mysql.sh
  13、  新加的mysql没有设置root密码,可以通过下面命令设置root密码:
#/usr/local/mysql/bin/mysqladmin -S /data/mysql/mysql_3306.sock-u root password 'new-password'  14、登录mysql
  [root@server2 ~]# mysql
  ERROR 2002 (HY000): Can'tconnect to local MySQL server through socket '/tmp/mysql.sock' (2)
  问题:/tmp目录下没找到mysql.sock,解决办法有三种:
  1)        将/data/mysql/mysql_3306.sock做软链接到/tmp/mysql.sock
  ln -s /data/mysql/mysql_3306.sock/tmp/mysql.sock
  2)        修改/etc/my.cnf,添加以下行
  [client]
  socket = /data/mysql/mysql_3306.sock
  3)  执行以下命令指定socket连接文件,mysql –S /data/mysql/mysql_3306.sock
[root@server2 ~]# mysql -S/data/mysql/mysql_3306.sock


运维网声明 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-620023-1-1.html 上篇帖子: MYSQL5.5源码安装 linux下 下篇帖子: Mysql密码过期的解决方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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