linux安装源码安装mysql5.6_Linux下源码安装mysql5.6

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

本文转自 小杨_Ivan 51CTO博客,原文链接:http://blog.51cto.com/aqiang/1895549

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值