linux CenterOS 下 mysql-5.6.26.tar.gz源码安装

时间:2021-11-08 21:11:17

1.准备工作

[root@cnpcmysql-5.6.26]# cd /cnpc/


百度云盘 mysql-5.6.26.tar.gz链接:http://pan.baidu.com/s/1dDe9ifv 密码:ifus

[root@cnpc01 cnpc]# tar zxvf mysql-5.6.26.tar.gz //解压文件

[root@cnpc01cnpc]# ls 

hadoop-2.2.0  mysql-5.6.26 mysql-5.6.26.tar.gz

[root@cnpc01cnpc]# cd mysql-5.6.26

2.必要软件包

[root@cnpc01mysql-5.6.26]# yum -y install  gccgcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt*libtool-ltdl-devel* make cmake

3.编译安装

#默认情况下是安装在/usr/local/mysql

[root@cnpc01mysql-5.6.26]# cmake .

 

出错了!!!!

-- Configuring incomplete, errors occurred!

See also"/cnpc/mysql-5.6.26/CMakeFiles/CMakeOutput.log".

See also"/cnpc/mysql-5.6.26/CMakeFiles/CMakeError.log".

#如果cmake期间碰到上述错误,应该安装ncurses-develrpm包,然后移除CMakeCache.txt,反之跳过

[root@cnpc01 mysql-5.6.26]# yum -y installncurses-devel

[root@cnpc01 mysql-5.6.26]# find / -nameCMakeCache.txt

/cnpc/mysql-5.6.26/CMakeCache.txt

[root@cnpc01 mysql-5.6.26]# rm -rf/cnpc/mysql-5.6.26/CMakeCache.txt

[root@cnpc01 mysql-5.6.26]# cmake .

 

 

 

[root@cnpc01mysql-5.6.26]# make && make install

注:

cmake .  的默认配置如下(不需要执行)

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.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

4.添加用户

[root@cnpc01mysql-5.6.26]# groupadd mysql

[root@cnpc01mysql-5.6.26]# useradd -r -g mysql mysql

修改目录所有者

[root@cnpc01mysql-5.6.26]# chown -R mysql.mysql /usr/local/mysql

5.初始化数据库

[root@cnpc01mysql-5.6.26]# cd /usr/local/mysql/scripts

[root@cnpc01scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql--datadir=/usr/local/mysql/data

6.注册服务

[root@cnpc01scripts]# cd /usr/local/mysql/support-files

[root@cnpc01 support-files]# cp mysql.server /etc/rc.d/init.d/mysql        //注册服务

[root@cnpc01 support-files]# cp my-default.cnf /etc/my.cnf       //使用默认配置文件

cp: overwrite `/etc/my.cnf'?y(这里得注意了,输入y覆盖,如果你直接回车,表示不覆盖,以后面启动service mysql start 可能会出现以下错误)

Starting MySQL. ERROR! Theserver quit without updating PID file (/var/lib/mysql/cnpc01.pid).

[root@cnpc01 support-files]# chkconfig --add mysql        //让chkconfig管理mysql 服务

[root@cnpc01 support-files]# chkconfig mysql on            //开机启动

[root@cnpc01support-files]# service mysql start

Starting MySQL.. SUCCESS!   //初步启动成功

 

7.mySql管理员root默认密码为空,需要修改

[root@cnpc01 support-files]# /usr/local/mysql/bin/mysqladmin -u rootpassword 'newpassword '

测试连接mysql

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

[root@cnpc01bin]# ./mysql -u root -p

Enterpassword:

Welcome to theMySQL monitor.  Commands end with ; or\g.

Your MySQLconnection id is 2

Serverversion: 5.6.26 Source distribution

 

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

 

Oracle is aregistered 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> showdatabases;

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

|Database           |

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

|information_schema |

| mysql              |

|performance_schema |

| test               |

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

4 rows in set(0.06 sec)

 

 

8.如果需要远程访问,执行如下语句

 

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

 

大功告成!

 

遇到如下错误有多种解决办法

Starting MySQL. ERROR!The server quit without updating PID file (/var/lib/mysql/cnpc01.pid).

我是使用如下 方式解决的(第4种方法),我在网上找了下资料,大概有7种,不行了就一个个试试,总会有解决的办法的

[root@cnpc01support-files]# vi /etc/my.cnf

[mysqld]

#datadir=/var/lib/mysql修改前

datadir = /usr/local/mysql/data  //修改后

socket=/var/lib/mysql/mysql.sock

user=mysql

# Disablingsymbolic-links is recommended to prevent assorted security risks

symbolic-links=0

 

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

 

1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限

解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data”  然后重新启动mysqld!

2.可能进程里已经存在mysql进程

解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!

3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。

解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。

4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。

解决方法:请在[mysqld]下设置这一行: datadir =/usr/local/mysql/data,参考你安装时执行的命令

./mysql_install_db--user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

5.skip-federated字段问题

解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

6.错误日志目录不存在

解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限

7.selinux惹的祸,如果是centos系统,默认会开启selinux

解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试