zoukankan      html  css  js  c++  java
  • Linux(CentOS或RadHat)下MySQL源码安装

    安装环境:

    CentOS6.3 64位

    软件:

    Mysql-5.6

    所需包:

    gcc/g++ MySQL 5.6开始,需要使用g++进行编译。
    cmake  MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本。
    bison  MySQL语法解析器需要使用bison进行编译。
    ncurses-devel :用于终端操作的开发包。
    zlib    MySQL使用zlib进行压缩

    有关库包下载:

    可以自己去官网下载,也可以去网盘下载

    http://pan.baidu.com/s/1nuOm0fn

    有关MySQL编译参数:
      CMAKE_BUILD_TYPE            编译的版本类型:RelWithDebInfoDebug,不同之处是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的类型,用于压缩功能。
      ENABLED_LOCAL_INFILE        指定是否允许使用load data infile功能。
      WITH_EMBEDDED_SERVER        指定是否编译libmysqld嵌入式库。
      INSTALL_LAYOUT              指定安装的布局类型。
      WITH_storage_STORAGE_ENGINE 指定编译支持的存储引擎,默认支持MyISAMMERGEMEMORYCSV存储引擎。

    编译安装:

    1.安装必须的库

    通过YUM继续安装

    gcc相关的包:yum install gcc*

    yum install bison

    yum install ncurses-devel

    yum install zlib

    Cmake由于CentOS6.3 yum中的Cmake版本为2.6而安装MySQL需要2.8以上的版本因而Cmake采用源码编译安装

    (1)cmake安装:

    本次安装采用的是cmake-2.8.5.tar.gz版本的包

    tar -zxvf cmake-2.8.5.tar.gz
    cd cmake-2.8.5
    ./configure
    make
    make install

    全部成功后输入cmake --version命令

    如果结果为:cmake version 2.8.5 则cmake安装成功。

    ps:如果没有cmake的命令, 把bin下的cmake拷贝到/usr/bin/

    2.MySQL安装

    MySQL源码安装包:(本次安装mysql 5.6.30版本)

    mysql-5.6.30.tar.gz

    tar -zxvf mysql-5.6.30.tar.gz
    cd mysql-5.6.30
    #创建mysql目录 mkdir -p /mysql/ mkdir -p /mysql/date groupadd mysql useradd -r -g mysql mysql cmake . -DCMAKE_INSTALL_PREFIX=/mysql -DMYSQL_DATADIR=/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 make make install

    mysql安装参数说明:

    -DCMAKE_INSTALL_PREFIX------------------------安装目录

    -DINSTALL_DATADIR-------------------------数据库存放目录

    -DDEFAULT_CHARSET---------------------------使用utf8字符

    -DDEFAULT_COLLATION----------------------------校验字符

    -DEXTRA_CHARSETS--------------------安装所有扩展字符集

    -DENABLED_LOCAL_INFILE------------允许从本地导入数据

    PS:如果需要重新编译的时候,需要旧的对象文件和缓存信息

    make clean
    rm -f CMakeCache.txt
    rm -rf /etc/my.cnf

    编译安装完成后

    启动mysql服务:

    chown -R root:mysql /mysql
    chown -R mysql:mysql /mysql/date/
    cd /mysql
    scripts/mysql_install_db --user=mysql
    cp support-files/mysql.server /etc/init.d/mysqld

    vi /root/.bash_profile

    在最后加上一行

    PATH=$PATH:$HOME/bin:/mysql/bin:/mysql/lib

    到目前为止mysql安装工作就完成了

    最后我们启动mysql服务:

    service mysqld start 

    (服务名根据cp support-files/mysql.server /etc/init.d/mysqld复制过去的名字为准)

    显示Starting MySQL.. SUCCESS! 则启动成功

    修改ROOT用户密码,修改远程登录权限:

    登入mysql数据库

    mysql -uroot

    #一开始默认密码为空

    如果出现 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' 错误

    解决方法如下

    先查看报错信息查找mysql.sock的位置,本次是位于/tmp/mysql.sock中

    修改my.cnf文件

    vi /etc/my.cnf

    把mysqld中的socket目录修改为/tmp/mysql.sock目录。

    然后重启服务 

    service mysqld restart

    在重新登录mysql数据库 

    mysql -uroot

    登入之后

    use mysql; #选取数据库
    GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; #赋予远程登录权限
    update user set Password = password('*********') where User='root'; #修改root密码*******替换为需要的密码
    flush privileges; #提交操作

    之后root用户登入mysql数据库就需要密码了

    PS:远程登录如果无法登陆检查一下服务器防火墙是否已经关闭

    PS:如果不能远程连接,出现错误mysql error number 1130,则加入下面语句试试:

    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;

  • 相关阅读:
    mysql学习日志
    Python学习day10 Javascript/Jquery
    Python学习day07 多线程多进程及主机管理
    Linux基本命令
    django 用户认证/Excel导入Mysql
    转:iptables详解
    Python django前端导入Excel脚本
    Python学习day08 分布式监控系统开发实战
    Subline Text2
    MySQL 常用函数分析
  • 原文地址:https://www.cnblogs.com/soysaucejyz/p/6118311.html
Copyright © 2011-2022 走看看