zoukankan      html  css  js  c++  java
  • Mysql5.6源码包安装

    1. 概述

    1.1 目标

    搭建测试,生产数据库参照文档。

    2. 安装包检查

    2.1 安装make编译器

    make编译器下载地址:http://www.gnu.org/software/make/

    (系统默认自带)查看自己的系统是否安装某个软件,如果已经有了,就不用在安装了,但是也有可能之前被卸载了。

    如果你之前是使用rpm -ivh make装的,用

    # rpm -qa | grep make肯定是能够找到的。

    如果你是用

    make && make install装的。那么最好直接去找执行程序,就知道有没装上去

    # find / -name matlab

    如果装了,它会告诉你执行程序被释放到哪个目录了。

    ++++++++++++++++++++++++++++++++++++++++++

    # rpm -qa 是查看该软件是否被安装,# grep和# find是查看文件位置

    ++++++++++++++++++++++++++++++++++++++++++

    # tar zxvf make-3.82.tar.gz

    # cd make-3.82

    # ./configure

    # make

    # make install

    或者

    [root@testdb1 ~]# rpm -qa |grep make

    make-3.81-3.el5

    2.2 安装bison

    bison下载地址:http://www.gnu.org/software/bison/

    # tar zxvf bison-2.5.tar.gz

    # cd bison-2.5

    # ./configure

    # make

    # make install

    或者

    [root@testdb1 ~]# rpm -qa |grep bison

    bison-2.3-2.1

    2.3 安装gcc-c++

    gcc-c++下载地址:http://www.gnu.org/software/gcc/

    # tar zxvf gcc-c++-4.4.4.tar.gz

    # cd gcc-c++-4.4.4

    #./configure

    # make

    # make install

    2.4 安装cmake

    cmake下载地址:http://www.cmake.org/

    # tar zxvf cmake-2.8.4.tar.gz

    # cd cmake-2.8.4

    #./configure

    # make

    # make install

    2.5 安装ncurses

    ncurses下载地址:http://www.gnu.org/software/ncurses/

    # tar zxvf ncurses-5.8.tar.gz

    # cd ncurses-5.8

    #./configure

    # make

    # make install

    2.6 备注使用yum全部安装

    yum install gcc gcc-c++

    yum install -y ncurses-devel

    yum install -y cmake

    yum install -y libaio

    yum install -y bison

    3. 安装mysql数据库

    3.1 解压mysql安装文件

    MySQL5.6下载地址:http://dev.mysql.com/

    这里我在这里下载的mysql-5.6.12.tar.gz

    ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/

    准备工作

    # groupadd mysql

    # useradd mysql -g mysql -M -s /sbin/nologin

    #增加一个名为 mysql的用户。

    -g:指定新用户所属的用户组(group)

    -M:不建立根目录

    -s:定义其使用的shell,/sbin/nologin代表用户不能登录系统。

    解压并安装MySQL

    # tar zxvf mysql-5.6.12.tar.gz

    # cd mysql-5.6.12

    # cmake ./

    # -DCMAKE_INSTALL_PREFIX=/usr/local/mysql              #安装路径

    # -DMYSQL_DATADIR=/usr/local/mysql/data                #数据文件存放位置

    # -DSYSCONFDIR=/etc                                    #my.cnf路径

    # -DWITH_MYISAM_STORAGE_ENGINE=1                       #支持MyIASM引擎

    # -DWITH_INNOBASE_STORAGE_ENGINE=1                     #支持InnoDB引擎

    # -DWITH_MEMORY_STORAGE_ENGINE=1                       #支持Memory引擎

    # -DWITH_READLINE=1                                    #快捷键功能(我没用过)

    # -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock                   #连接数据库socket路径

    # -DMYSQL_TCP_PORT=3306                                #端口

    # -DENABLED_LOCAL_INFILE=1                             #允许从本地导入数据

    # -DWITH_PARTITION_STORAGE_ENGINE=1                    #安装支持数据库分区

    # -DEXTRA_CHARSETS=all                                 #安装所有的字符集

    # -DDEFAULT_CHARSET=utf8                               #默认字符

    # -DDEFAULT_COLLATION=utf8_general_ci

    # make

    # make install

    编译脚本执行

    time cmake .

    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql         

    -DMYSQL_DATADIR=/data           

    -DSYSCONFDIR=/etc                               

    -DWITH_MYISAM_STORAGE_ENGINE=1                  

    -DWITH_INNOBASE_STORAGE_ENGINE=1                

    -DWITH_MEMORY_STORAGE_ENGINE=1                  

    -DWITH_READLINE=1                               

    -DMYSQL_UNIX_ADDR=/data/mysqld.sock              

    -DMYSQL_TCP_PORT=3306                           

    -DENABLED_LOCAL_INFILE=1                        

    -DWITH_PARTITION_STORAGE_ENGINE=1               

    -DEXTRA_CHARSETS=all                            

    -DDEFAULT_CHARSET=utf8                          

    -DDEFAULT_COLLATION=utf8_general_ci

    或者简单安装

    # Preconfiguration setup

    shell> groupadd mysql

    shell> useradd -r -g mysql -s /bin/false mysql

    # Beginning of source-build specific instructions

    shell> tar zxvf mysql-VERSION.tar.gz

    shell> cd mysql-VERSION

    shell> cmake .

    shell> make

    shell> make install

    3.2 编译完成配置mysql服务

    # cd /usr/local/mysql

    # chown -R mysql:mysql .

    # mkdir -p /data/mysql

    # chown mysql.mysql -R /data

    # chmod 775 -R /data

    (#这里最后是有个.的大家要注意# 为了安全安装完成后请修改权限给root用户)

    # scripts/mysql_install_db --user=mysql    (先进行这一步再做如下权限的修改)

    scripts/mysql_install_db --user=mysql --datadir=/data/mysql

    和配置my.cnf 保持一致

    # chown -R root:mysql .     (将权限设置给root用户,并设置给mysql组, 取消其他用户的读写执行权限,仅留给mysql "rx"读执行权限,其他用户无任何权限)

    # chown -R mysql:mysql ./data    (数据库存放目录设置成mysql用户mysql组)

    # chmod -R ug+rwx  .     (赋予读写执行权限,其他用户权限一律删除仅给mysql用户权限)

    下面的命令是将mysql的配置文件拷贝到/etc

    # cp support-files/my-default.cnf  /etc/my.cnf

    (5.6之前的版本用如下命令)

    # cp support-files/my-medium.cnf /etc/my.cnf  (5.6之前的版本是此操作,读者也可在此时自己进入support-files文件夹下面,看是配置文件的真正名称,那个存在,就拷贝那个。。)

    修改my.cnf配置

    # vi /etc/my.cnf

    #[mysqld] 下面添加:

    user=mysql

    datadir=/data/mysql

    default-storage-engine=MyISAM

    备注修改 datadir=/data/mysql 需要在 scripts/mysql_install_db --user=mysql 添加 --datadir=/data/mysql

    3.3 启动mysql

    # bin/mysqld_safe --user=mysql &        或者直接进入bin文件夹下面

    # cd bin

    #./mysqld                              这里说明,mysqld_safe或者mysqld都可以启动的

    启动mysql,看是否成功

    # ps –ef|grep mysql

    root     25152 25119  0 14:43 pts/2    00:00:00 tail -f /data/mysql/testdb1.err

    root     25729     1  0 14:50 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/testdb1.pid

    mysql    25878 25729  0 14:50 pts/1    00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/testdb1.err --pid-file=/data/mysql/testdb1.pid

    root     26040 25932  0 15:28 pts/0    00:00:00 grep mysql

    # netstat -tnl|grep 3306

    tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN   

    上面是一种启动mysql的方法,还有一种简单的方便,如下:

    将mysql的启动服务添加到系统服务中

    # cp support-files/mysql.server  /etc/init.d/mysql

    现在可以使用下面的命令启动mysql

    # service mysql start

    停止mysql服务

    # service mysql stop

    重启mysql服务

    # service mysql restart

    Shutting down MySQL..[  OK  ]

    Starting MySQL..[  OK  ]

    关闭MySQL自动启动

    [root@testdb1 init.d]# chkconfig --list |grep mysql

    mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off

    [root@testdb1 init.d]#

    [root@testdb1 init.d]#

    [root@testdb1 init.d]#

    [root@testdb1 init.d]# chkconfig mysql off

    [root@testdb1 init.d]# chkconfig --list |grep mysql

    mysql           0:off   1:off   2:off   3:off   4:off   5:off   6:off

    备注:

    命令行方式启动

    [root@testdb1 ~]# cd /usr/local/mysql/bin

    [root@testdb1 bin]# ./mysqld_safe &

    [1] 3981

    [root@testdb1 bin]# 160114 09:25:08 mysqld_safe Logging to '/data/mysql/testdb1.err'.

    160114 09:25:08 mysqld_safe Starting mysqld daemon with databases from /data/mysql

    关闭数据库

    [root@testdb1 bin]# mysqladmin -uroot shutdown

    160114 09:27:38 mysqld_safe mysqld from pid file /data/mysql/testdb1.pid ended

    [1]+  Done                    ./mysqld_safe

    3.4 修改root用户密码

    # chkconfig --add mysql

    修改默认root账户密码,默认密码为空

    修改密码 cd 切换到mysql所在目录

    # cd /usr/local/mysql

    # ./bin/mysqladmin -u root password

    New password:

    Confirm new password:

    回车在接下来的提示中设置新密码即可。。

    最后

    # service mysql restart;              (重启mysql服务器)

    # cd /usr/local/mysql/bin/        (进入mysql basedir下面的bin中)

    # ./mysql                                (开启客户端)

    Welcome to the MySQL monitor.  Commands end with ; or g.

    Your MySQL connection id is 2

    Server version: 5.6.28 Source distribution

    Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its

    affiliates. Other names may be trademarks of their respective

    owners.

    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

    mysql>

    登录mysql测试

    mysql> use mysql

    Reading table information for completion of table and column names

    You can turn off this feature to get a quicker startup with -A

    Database changed

    mysql> select host,user from mysql.user;

    +-----------+------+

    | host      | user |

    +-----------+------+

    | 127.0.0.1 | root |

    | ::1       | root |

    | localhost |      |

    | localhost | root |

    | testdb1   |      |

    | testdb1   | root |

    +-----------+------+

    6 rows in set (0.00 sec)

    4. 常见问题

    问题1  

    Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid).  

    解决:

    修改/etc/my.cnf 中datadir,指向正确的mysql数据库文件目录 

    问题2  

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)  

    解决:

    新建一个链接或在mysql中加入-S参数,直接指出mysql.sock位置。'''  

    ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock  

    /usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/data/mysql.sock 

    问题3

    解决:-bash:mysql:command not found 

    因为mysql命令的路径在/usr/local/mysql/bin下面,所以你直接使用mysql命令时, 

    系统在/usr/bin下面查此命令,所以找不到了  

    解决办法是:

    ln -s /usr/local/mysql/bin/mysql /usr/bin 做个链接即可 

    5. 本地Yum 源配置

    5.1 yum 简介

    yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器。起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke 开发团队进行改进,遂有此名。yum 的宗旨是自动化地升级,安装/移除rpm 包,收集rpm 包的相关信息,检查依赖性并自动提示用户解决。yum 的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http 或ftp 站点,也可以是本地软件池,但必须包含rpm 的header,header 包括了rpm 包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些header 并加以分析,才能自动化地完成余下的任务。

    yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux 用户一直头痛的dependencies 的问题。这一点上,yum 和apt 相同。apt 原为debian 的deb 类型软件管理所使用,但是现在也能用到RedHat 门下的rpm 了。

    yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题。

    yum 可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm 包时遇到的依赖性问题,保持与RPM 数据库的一致性。

    5.2 yum源配置和光盘挂载

    cd /etc/yum.repos.d

    挂载本地光盘

    mount -o loop /home/OL5.8x86_64dvd.iso /mnt

    虚拟机挂着 ISO光盘

    mount /dev/cdrom /mnt

    修改yum源文件

    [root@cafhxdb1 yum.repos.d]# cat my.repo

    [c6-media]

    name=CentOS-$releasever - Media

    baseurl=file:///mnt/cdrom/Server

    gpgcheck=0

    enabled=1

    6. RPM安装MySQL数据库

    1. 下载MySQL 5.6
    下载页面:http://dev.mysql.com/downloads/mysql/
    此处选择“Red Hat Enterprise Linux 6 / Oracle Linux 6 (x86, 32-bit), RPM Bundle”下载,下载至/root/Downloads/目录下,下载文件名为“MySQL-5.6.15-1.el6.i686.rpm-bundle.tar”
    2. 解压tar包
    cd /root/Downloads/
    tar -xvf MySQL-5.6.15-1.el6.i686.rpm-bundle.tar
    3. 以RPM方式安装MySQL
    在RHEL系统中,必须先安装“MySQL-shared-compat-5.6.15-1.el6.i686.rpm”这个兼容包,然后才能安装server和client,否则安装时会出错。
    yum install MySQL-shared-compat-5.6.15-1.el6.i686.rpm  # RHEL兼容包
    yum install MySQL-server-5.6.15-1.el6.i686.rpm              # MySQL服务端程序
    yum install MySQL-client-5.6.15-1.el6.i686.rpm                # MySQL客户端程序
    yum install MySQL-devel-5.6.15-1.el6.i686.rpm                # MySQL的库和头文件
    yum install MySQL-shared-5.6.15-1.el6.i686.rpm              # MySQL的共享库
    4. 配置MySQL登录密码
    cat /root/.mysql_secret  # 获取MySQL安装时生成的随机密码
    service mysql start      # 启动MySQL服务
    mysql -uroot -p          # 进入MySQL,使用之前获取的随机密码
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password');  # 在MySQL命令行中设置root账户的密码为password
    quit  # 退出MySQL命令行
    service mysql restart  # 重新启动MySQL服务

  • 相关阅读:
    mysql8 JDBC连接注意事项
    Flask上下文管理源码分析
    python基础学习day5
    python基础学习day4
    python基础学习day3
    python基础学习day2
    python基础学习day1
    简单的名片管理系统
    pycharm教程
    Python:知识目录
  • 原文地址:https://www.cnblogs.com/rencheng/p/6602004.html
Copyright © 2011-2022 走看看