zlzyp 发表于 2018-10-4 12:24:05

CentOS6.6安装MYSQL-Hotel.Gouwa-51CTO博客

  系统环境:CentOS 6.6 minimal 64位
  MySQL免编译包:mysql-5.1.40-linux-x86_64-icc-glibc23.tar.gz
  MySQL源码包:mysql-5.5.20.tar.gz
  小弟今天一定要8一8这个系统环境,在小弟刚接触linux的时候,被我大天朝度娘娘娘坑的膝盖烂如泥,为啥?因为大家的系统环境都不一样啊,所以小弟以后但凡写文档必写第一行,免得历史长河中的悲剧一次一次又一次,重复重复再重复!1024!
  一.免编译安装
  1.首先找个目录比如opt这种目录下载mysql安装包:
# cd /opt  2.进去后,使用wget或者winscp、rz各种办法把tar包搞进目录下。
# wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-x86_64-icc-glibc23.tar.gz  下载完之后,就会看到tar包了(图1)

  3.接下来解压这个tar包
# tar -zxvf mysql-5.1.40-linux-x86_64-icc-glibc23.tar.gz  4.解压完毕后,可以做ln也可以直接mv改名,我们mv到/usr/local/mysq下去。
# mv mysql-5.1.40-linux-x86_64-icc-glibc23 /usr/local/mysql  5.创建一个mysql用户
# useradd -s /sbin/nologin mysql  6.然后去创建一个mysql的数据存放目录
# mkdir -p /data/mysql  
(目录不是定死的,只要你记得住)
  7.因为以后mysql肯定要对目录进行操作,那得有权限,所以就把新创建的目录给过一下户,顺便给刚才解压的tar过户。
# chown -R mysql:mysql /data/mysql/  
# chown -R mysql:mysql /usr/local/mysql/
  8.接下来需要初始化mysql
# ./mysql_install_db--user=mysql --datadir=/data/mysql  这样执行必然会报错,看看报错信息吧!(图2)

  针对上图的解决方法,可以试试下面的命令(其中原因是什么我不清楚,求大神指点)
# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql  当命令执行好之后,接下来会跳出另一个报错:(图3)

  不要惊慌鸡动,仔细看报错信息,说是找不到什么什么,那我就想到是不是少装东西了,那我TM怎么知道少了什么,然后上帝告诉我了:(图4)
# yum install compat-libstdc++-33
  感谢上帝!
  9.将support-files下的my-large.cnf替换etc/my.cnf下
# cp my-large.cnf /etc/my.cnf  
cp:是否覆盖"/etc/my.cnf"? y
  10.还要把mysql.server覆盖到etc/init.d/mysqld
# cp mysql.server /etc/init.d/mysqld  11.Mysqld文件很重要我们要修改他的权限,不过好像复制过去直接是755了。
# chmod 755 mysqld  12.接下来我们要修改服务启动文件里面的参数了。
# vim /etc/init.d/mysqld  找到basedir和datadir,根据你的实际情况修改他们,别忘了改好wq:
basedir=/usr/local/mysql  
datadir=/data/mysql
  13.添加mysql服务,并且开启mysql服务
# chkconfig --add mysqld  
# chkconfig mysqld on
  鸡动人心的时候到了,启动mysql服务
# service mysqld start  
Starting MySQL. SUCCESS!
  咱们测试一下是不是能进去,这里要注意一下,有的同学看网上教程直接mysql –u –p可能会提示“命令找不到”,心想日了狗了,因为我也遇到过啊,日他哥~,冷静下来一想,尼玛基础啊,系统默认去找/usr/bin/mysql请问你有么?,要没有咱们就老实的去/usr/local/mysql/bin下面运行吧你懂的,如果有傲娇一定要mysql直接可以运行,那就加PATH就是了,感谢上帝!(图5)

  你懂的~感谢上帝~~!
  二.源码包编译安装
  1.直入正题解压tar包
# ll  
总用量 23740
  
-rw-r--r-- 1 root root 24305842 5月6 2015 mysql-5.5.20.tar.gz
  
# tar -zxvf mysql-5.5.20.tar.gz
  
# ll
  
总用量 23744
  
drwxr-xr-x 31 7161 wheel   4096 12月17 2011 mysql-5.5.20
  
-rw-r--r--1 root root24305842 5月6 2015 mysql-5.5.20.tar.gz
  2.进入解压出来的mysql目录并对其进行编译
# cd mysql-5.5.20  
# pwd
  
/opt/mysql-5.5.20
  接下来要进行cmake,因为我安装的是minimal,所以需要安装必要的工具,如下
  值得一说的是,当我们yum安装之前我觉得你应该先list *gcc*而不只是list gcc* 你可以试验一下观察他#们的不同,从而再定夺,我是小白啊,所以*gcc*
# yum install *gcc*  装完不要嘚瑟,主角cmake还没上呢
# yum install cmake  接下来正式开始cmake
# cmake \  
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  
-DMYSQL_DATADIR=/data/mysql \
  
-DDEFAULT_CHARSET=utf8\
  
-DDEFAULT_COLLATION=utf8_general_ci \
  
-DWITH_EXTRA_CHARSETS:STRING=all \
  
-DWITH_DEBUG=0 \
  
-DWITH_SSL=yes \
  
-DWITH_READLINE=1 \
  
-DENABLED_LOCAL_INFILE=1
  加个连接里面有介绍各种参数和用法:
  http://www.blogjava.net/kelly859/archive/2012/09/04/387005.html
  别想着一次成功,办会报错的我们echo $? 结果=1,来看看什么错误:
-- Could NOT find Curses (missing:CURSES_LIBRARY CURSES_INCLUDE_PATH)  
CMake Error at cmake/readline.cmake:83 (MESSAGE):
  
Curses library not found.Please install appropriate package,
  
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev,
  
on Redhat and derivates it is ncurses-devel.
  
Call Stack (most recent call first):
  
cmake/readline.cmake:118 (FIND_CURSES)
  
cmake/readline.cmake:214 (MYSQL_USE_BUNDLED_READLINE)
  
CMakeLists.txt:257 (MYSQL_CHECK_READLINE)
  
-- Configuring incomplete, errors occurred!
  
See also "/opt/mysql-5.5.20/CMakeFiles/CMakeOutput.log".
  
See also "/opt/mysql-5.5.20/CMakeFiles/CMakeError.log".
  说没有找到Curses,然后往下看说如果是红帽系列的话那需要安装ncurses-devel,咱们继续装
# yum install ncurses-devel.x86_64  装完我们重新cmake一次,你会发现还是报错,而且报错和之前一样,解决办法是删除CMakeCache.txt
# rm -rf CMakeCache.txt  再重新cmake一次,你会发现成功了,echo $? ==0,不要在意那些warning,cmake通过
  接下来make ,make install    我喜欢分开来执行哈哈......
  3.配置mysql直到世界尽头
  创建mysql组创建mysql用户,创建mysql的data目录(这个目录是活的而且是根据你之前cmake的之后指定的datadir而定所以mkdir只作为大家参考具体设置要根据你的需求而定)
# groupadd mysql  
# useradd -g mysql mysql
  
# mkdir -p /data/mysql
  修改mysql目录和data目录权限
# chown -R mysql:mysql /usr/local/mysql (注意你自己所在的目录啊,不要复制了就上)  
# chown -R mysql:mysql /data/mysql
  初始化mysql数据库
# ./scripts/mysql_install_db --user=mysql--datadir=/data/mysql/  
Installing MySQL system tables...
  
OK
  
Filling help tables...
  
OK
  上面2个OK 出现就可以了,接下来还需要修改两个目录的权限:
  进入mysql目录让他的属主成为root(其实我一直不明白这句话背后的含义到底是什么,让root成为属主,之后项目运用的时候不都是mysql用户对数据库进行操作吗?,这点真的不太明白,如果有大神指导还希望倾囊相授!)
# pwd  

  
/usr/local/mysql
  

  
# chown -R root .
  再将之前datadir目录也就是我这里设置的/data的属主改成mysql。
# chown -R mysql data  4.修改各种配置文件和启动服务
# cp my-medium.cnf /etc/my.cnf  这里配置文件大家可以看一下有好几个,找最适合你需求的,就像有的网游的武器有的是适合PVE的有的适合PVP,给2个连接关于my.cnf的详解
  http://www.linuxidc.com/Linux/2013-07/87993.htm 介绍几个cnf不同之处
  http://www.blogjava.net/hunter129/archive/2009/01/18/251744.html 配置文件参数详解
  回到mysql目录执行下面命令
# bin/mysqld_safe --user=mysql  然后复制mysql.server到/etc/init.d/mysqld(我相信你懂是啥意思的)
# cp support-files/mysql.server /etc/init.d/mysqld  
# chmod +x /etc/init.d/mysqld (要是没有X你就加一个,有就算了)
  
# service mysqld start
  
Starting MySQL... SUCCESS!
  看到这个你懂的,启动了!
  鸡动人心的时候到了!
# /usr/local/mysql/bin/mysql -uroot (这样没密码是不对的,之后还会更新怎么加密码)  

  
Welcome to the MySQL monitor.Commands end with ; or \g.
  
Your MySQL connection id is 1
  
Server version: 5.5.20-log Source distribution
  
Copyright (c) 2000, 2011, 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>
  感谢上帝!1024!


页: [1]
查看完整版本: CentOS6.6安装MYSQL-Hotel.Gouwa-51CTO博客