阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 6.7安装MySQL

130次阅读
没有评论

共计 3913 个字符,预计需要花费 10 分钟才能阅读完成。

我的机器:CentOS 6.7 64 位(minimal 安装)
安装的 MySQL:MySQL 5.6
安装过程充满坎坷……(缺少实践)

下载

使用免编译二进制包

[root@linuxidc ~]# cd /usr/local/src
[root@linuxidc src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz

这里的链接可能会失效,可以去 http://mirrors.sohu.com/mysql/ 找所需的版本,看清 MySQL 的版本,选择合适的包下载

  • 可能出现的报错信息
-bash: wget: command not found
  • 解决方案
[root@linuxidc src]# yum -y install wget
[root@linuxidc src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz

初始化

[root@linuxidc src]# tar zxvf mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz
[root@linuxidc src]# useradd -s /sbin/nologin -M mysql
[root@linuxidc src]# mv mysql-5.6.29-linux-glibc2.5-x86_64 /usr/local/mysql
[root@linuxidc src]# cd /usr/local/mysql
[root@linuxidc mysql]# mkdir -p /data/mysql
[root@linuxidc mysql]# chown -R mysql /data/mysql
[root@linuxidc mysql]# ./scripts/mysql_install_db --user=mysql --datadir=data/mysql
  1. –user 定义数据库的所属主,–datadir 定义数据库安装路径
  2. 这里的最后一步有点问题,导致我启动 MySQL 时报错,后面会给出解决方法

如果遇到错误,请检查下载的包是否合适,此处不说明

  • 可能出现的错误
-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: 没有那个文件或目录 

除了下载的包不合适的原因外,还可能是其他原因

  • 解决方案
[root@linuxidc mysql]# yum -y install perl perl-devel
[root@linuxidc mysql]# yum -y install libaio
[root@linuxidc mysql]# ./scripts/mysql_install_db --user=mysql --datadir=data/mysql
[root@linuxidc mysql]# echo $?
0

echo $? 用于检查上条命令是否执行成功,为 0 表示正常(记得 C 语言的 return 0 么)

配置

[root@linuxidc mysql]# cd support-files/
[root@linuxidc support-files]# ls
binary-configure  my-default.cnf       mysql-log-rotate
magic             mysqld_multi.server  mysql.server
[root@linuxidc support-files]# cp my-default.cnf /etc/my.cnf
cp:是否覆盖 "/etc/my.cnf"y
[root@linuxidc support-files]# cp mysql.server /etc/init.d/mysqld
[root@linuxidc support-files]# vim !$
  • 可能出现的错误
vim /etc/init.d/mysqld
-bash: vim: command not found
  • 解决方案
[root@linuxidc support-files]# yum -y install vim*
[root@linuxidc support-files]# vim /etc/init.d/mysqld

在 /etc/init.d/mysqld 文件中修改如下内容


basedir=/usr/local/mysql
datadir=/data/mysql

basedir:MySQL 的安装路径
datadir:MySQL 的数据库文件安装路径

启动

[root@linuxidc support-files]# chkconfig --add mysqld
[root@linuxidc support-files]# chkconfig mysqld on
[root@linuxidc support-files]# /etc/init.d/mysqld start

如果启动不了,我就卡在这好长时间,尝试了各种解决方案……

  • 报错信息
Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/linuxidc.pid).
  • 解决方案
[root@linuxidc support-files]# cd /data/mysql
[root@linuxidc mysql]# ls
auto.cnf  linuxidc.err  ibdata1  ib_logfile0  ib_logfile1
[root@linuxidc mysql]# vi linuxidc.err

到 /data/mysql 下查看错误日志

后来了解到:
在 CentOS 操作系统的最小安装(其他安装方式应该也是这样)完成后,在 /etc 目录下会存在一个 my.cnf,需要将此文件更名为其他的名字或者删除,否则,该文件会干扰源码安装的 MySQL 的正确配置,造成无法启动。

那我把 my.cnf 删除,再重新复制一份 my-default.cnf

[root@linuxidc mysql]# cd /etc/
[root@linuxidc etc]# ls
[root@linuxidc etc]# rm my.cnf
rm:是否删除普通文件 "my.cnf"y
[root@linuxidc etc]# cd /usr/local/mysql/
[root@linuxidc mysql]# cd support-files/
[root@linuxidc support-files]# ls
binary-configure  my-default.cnf       mysql-log-rotate
magic             mysqld_multi.server  mysql.server
[root@linuxidc support-files]# cp my-default.cnf /etc/my.cnf
[root@linuxidc support-files]# cd /usr/local/mysql/

执行命令

./scripts/mysql_install_db --user=mysql --datadir=data/mysql --basedir=usr/local/mysql
  • 再次报错
FATAL ERROR: Could not find my-default.cnf

命令敲错了……

  • 执行命令
[root@linuxidc mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql/

看出这条和上条的不同了没

貌似还得编辑一下配置文件,我的 /etc/my.cnf 里除注释外什么都没有…..

[root@linuxidc mysql]# vi /etc/my.cnf

把该注释掉的注释掉,该填的内容填上

接着重新来一遍吧

[root@linuxidc mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
[root@linuxidc mysql]# service mysqld start
Starting MySQL.. SUCCESS!
[root@linuxidc mysql]# ps aux|grep mysql
root      3900  0.0  0.1  11304  1500 pts/2    S    06:03   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/linuxidc.pid
mysql     4127  0.1 44.8 1011200 454300 pts/2  Sl   06:03   0: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/linuxidc.err --pid-file=/data/mysql/linuxidc.pid --socket=/tmp/mysql.sock --port=3306
root      4153  0.0  0.0 103316   896 pts/2    S+   06:19   0:00 grep mysql

 

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-09/135523.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计3913字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中