紫城斋 發表於 2023-8-9 00:00:00

详解Lamp环境搭建Linux CentOS6.5编译安装mysql5.6

<p>
        <strong>安装前准备</strong></p>
<p>
        通过rpm命令检查centos上是否已经安装mysql,然后卸载已经存在的mysql版本</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_973522">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># rpm -qa|grep mysql</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">mysql-libs-5.1.66-2.el6_3.i686</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.i686</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        通过yum安装mysql编译需要的依赖包</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_850584">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># yum install gcc gcc-c++ perl</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        下载mysql5.6安装包,mysql5.6安装包下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.36.tar.gz。</p>
<p>
        添加mysql用户组和用户,以及mysql的安装目录</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_39891">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># groupadd mysql</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain"></code><code class="bash comments"># useradd -g mysql -s /sbin/nologin -M mysql</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># mkdir /usr/local/mysql</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain"></code><code class="bash comments"># id mysql</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">uid=501(mysql) gid=501(mysql) </code><code class="bash functions">groups</code><code class="bash plain">=501(mysql)</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        给mysql的安装目录授权</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_94625">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># chown -R mysql.mysql /usr/local/mysql</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain"></code><code class="bash comments"># ll /usr/local</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">drwxr-xr-x. 2 mysql mysql 4096 May 11 09:09 mysql</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>开始安装</strong></p>
<p>
        解压缩之后进入,mysql5.6起都是通过cmake的方式进行配置的,可以直接采用默认的方式cmake .就能直接进入配置,也可以自己指定配置,下面自己执行配置,修改一些常规的mysql配置井号#后面是注释</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_788123">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \  #指定安装目录</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">&gt; -DMYSQL_UNIX_ADDR=</code><code class="bash plain">/usr/local/mysql/mysql</code><code class="bash plain">.sock \</code><code class="bash comments">#指定mysql.sock地址</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">&gt; -DDEFAULT_CHARSET=utf8 \</code><code class="bash comments">#指定默认的字符集</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">&gt; -DDEFAULT_COLLATION=utf8_general_ci \</code><code class="bash comments">#指定默认的排序字符集</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">&gt; -DWITH_INNOBASE_STORAGE_ENGINE=1 \</code><code class="bash comments">#安装innodb存储引擎</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">&gt; -DWITH_MYISAM_STORAGE_ENGINE=1 \安装myisam存储引擎</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">&gt; -DWITH_ARCHIVE_STORAGE_ENGINE=1 \安装archive存储引擎</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">&gt; -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \安装blackhole存储引擎</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">&gt; -DMYSQL_DATADIR=</code><code class="bash plain">/usr/local/mysql/data</code> <code class="bash plain">\</code><code class="bash comments">#mysql数据文件存放目录</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">&gt; -DMYSQL_TCP_PORT=3306 \</code><code class="bash comments">#端口</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">&gt; -DENABLE_DOWNLOADS=1</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>配置之后,可能会出现错误</strong></p>
<p>
        <span>提示错误:</span>Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)</p>
<p>
        这里是提示找不到Curses,通过yum安装库</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_637367">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># yum -y install ncurses-devel</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        然后删除掉CMakeCache.txt重新cmake</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_126146">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># rm -rf CMakeCache.txt</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        cmake之后没报错,直接执行make&amp;&amp; make install</p>
<p>
        <strong>安装数据文件</strong></p>
<p>
        mysql安装完成之后需要安装文件,在mysql的安装目录下的scripts文件夹里可以看到mysql_install_db,用来安装mysql数据文件,指定mysql用户</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_827608">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># ls /usr/local/mysql/scripts/</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">mysql_install_db</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        启动mysql</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_742967">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># /usr/local/mysql/support-files/mysql.server start</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">Starting MySQL.. SUCCESS!</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        登录mysql</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_261699">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># /usr/local/mysql/bin/mysql -uroot</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        第一次登陆不需要密码,需要通过mysqladmin设置root登录密码、</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_19203">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># /usr/local/mysql/bin/mysqladmin -uroot password '111111'</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        查看mysql配置文件</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_519494">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># /usr/local/mysql/bin/mysql --verbose --help |grep -A 1 'Default options'</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">Default options are </code><code class="bash functions">read</code> <code class="bash plain">from the following files </code><code class="bash keyword">in</code> <code class="bash plain">the given order:</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">/etc/my</code><code class="bash plain">.cnf </code><code class="bash plain">/etc/mysql/my</code><code class="bash plain">.cnf </code><code class="bash plain">/usr/local/mysql/etc/my</code><code class="bash plain">.cnf ~/.my.cnf</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        可以看到mysql的配置文件是存放在多个位置的,读取的顺序依次是</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterplain" id="highlighter_900643">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="plain plain">/etc/my.cnf 、/etc/mysql/my.cnf 、/usr/local/mysql/etc/my.cnf 、~/.my.cnf</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        那么我们复制mysql安装目录下的support-files文件夹中的my-default.cnf配置文件到/etc/my.cnf即可</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_105876">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># cp my-default.cnf /etc/my.cnf</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        如果存在直接覆盖就好了,这里最好把/etc/my.cnf改变下所有者</p>
<p>
        环境变量的配置,便于使用</p>
<p>
        将mysql服务启动放在/etc/init.d/下</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_324726">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># cp mysql.server /etc/init.d/mysqld</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        将/usr/local/mysql/bin/目录添加到环境变量中,vim编辑vim /etc/profile永久添加环境变量,重启生效</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_836426">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">export</code> <code class="bash plain">PATH=$PATH:</code><code class="bash plain">/usr/local/mysql/bin</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        如果不想重启,也可以在在编辑完vim /etc/profile之后,执行脚本</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_982834">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain"></code><code class="bash comments"># export PATH=$PATH:/usr/local/mysql/bin</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        此种方式终端关闭之后就会失效</p>
<p>
        以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。</p>
<p>
        原文链接:http://www.cnblogs.com/doyourself/p/6841684.html?utm_source=tuicool&amp;utm_medium=referral</p>
頁: [1]
查看完整版本: 详解Lamp环境搭建Linux CentOS6.5编译安装mysql5.6