为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。

http://www.cnblogs.com/shijiaqi1066/p/4311061.html

此处使用的MySQL为5.6版本。

卸载MySQL

首先卸载由RPM包安装的MySQL。系统自带的MySQL本质也是由RPM包安装的。

查询系统中MySQL的相关程序:

rpm -qa | grep mysql

卸载MySQL相关程序:

rpm -e 包名  或   rpm -e --nodeps 包名

例:卸载mysql-libs

rpm -e mysql-libs    #卸载

说明:若存在依赖关系,则无法被卸载。

忽略依赖关系卸载:

rpm -e --nodeps mysql-libs

删除老版本的MySQL的开发头文件和库(若没有使用RPM版本的MySQL,则该步骤不会使用到)

rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql

注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除

rm -f /etc/my.cnf
rm -fr /var/lib/mysql

编译安装MySQL

配置编译环境

MySQL5.5及以上版本都开始用cmake方式进行配置编译。(MySQL5.0,5.1 均使用configure进行配置。)所以需要先安装好cmake

方法一:

yum -y install make gcc-c++ cmake bison-devel ncurses-devel

方法二:

CentOS5.5的yum没有cmake,所以可以选择编译安装cmake。

安装编译源码所需的工具和库

yum install gcc gcc-c++ ncurses-devel perl 

安装cmake,从 www.cmake.org 下载源码并编译安装

wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
tar -xzvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap ; make ; make install

下载MySQL源码包后开始编译

tar -zxf mysql-5.6..tar.gz
cd mysql-5.6.

一些准备工作

设置MySQL用户和组

新增mysql用户组

groupadd mysql

新增mysql用户

useradd -r -g mysql mysql

新建MySQL所需要的目录

新建mysql安装目录

mkdir -p /usr/local/mysql

新建mysql数据库数据文件目录

mkdir -p /data/mysqldb

编译安装

CMake执行脚本为:

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_ARCHIVE_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DMYSQL_DATADIR=/data/mysqldb \
-DMYSQL_TCP_PORT= \
-DENABLE_DOWNLOADS=

说明:

网上有些文章中给出的cmake命令如下:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_MEMORY_STORAGE_ENGINE= \
-DWITH_READLINE= \
-DENABLED_LOCAL_INFILE= \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=

编译后警告显示:

即MYSQL_USER等模块式不可用的。

此时,若需要重新配置,请删除CMakeCache.txt文件:

rm CMakeCache.txt

去掉MYSQL_USER等不可被用的选项后,再重新编译即可。

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DENABLED_LOCAL_INFILE= \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_TCP_PORT=

编译 & 安装

make
make install

这两步都需要很长时间,请耐心等待。

修改mysql目录所有者和组

修改mysql安装目录

cd /usr/local/mysql
chown -R mysql:mysql .

修改mysql数据库文件目录

cd /data/mysqldb
chown -R mysql:mysql .

说明:

chown 最后跟文件名。此处使用".",表示当前目录。

启动MySQL

初始化mysql数据库

cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb

...... ......

说明:

从打印日志可以看出,mysql_install_db命令的作用是生成MySQL系统表。并且最后在mysql目录下生成一个my.cnf文件。

--user=mysql 作用是指定运行mysqld进程的用户名。设置这个用户以后,所有通过mysqld进程创建的文件(如日志等)都会属于这个用户。

mysql配置文件

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf 

注:如果/etc/my.cnf文件存在,则覆盖。

关于MySQL配置文件存在多个访问位置。MySQL会以此访问,后访问到的配置会覆盖先前的配置。

MySQL访问配置文件的访问路径与访问顺序如下:

配置MySQL

[client]
#password = your_password
port =
socket = /data/mysql/mysql.sock
default-character-set=utf8
# Here follows entries for some specific programs # The MySQL server
[mysqld]
port =
character_set_server=utf8
basedir=/data/mysql
datadir=/data/mysql/data
socket = /data/mysql/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache =
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

将MySQL执行命令添加入PATH

vim /etc/profile

在文件的末尾添加内容:

PATH=$PATH:/usr/local/mysql/bin
export PATH

保持退出后,执行:

source /etc/profile

将MySQL设置为系统服务并启动服务

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

即,MySQL可以以如下形式启动:

service mysqld start

如果报错 "Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/rhelubuntu.com.pid). " 则修改

vim  /etc/init.d/mysqld

修改basedir=/usr/local/mysql             -----mysql安装位置

修改datadir=/var/data/mysqldata          -----mysql数据文件存放位置

一般修改好这个再重新启动mysql应该不会报错了。

检查MySQL是否已经启动:

netstat -tulnp | grep 

配置用户

使用MySQL客户端连接MySQL服务器

mysql -u root -p

初始密码为空,如果能登陆上,则安装成功。

设置mysql管理员密码

mysqladmin -u root password "";

则123456即为新密码。

设置mysql 远程登录

grant all on *.* to root@'%';
flush privileges;

更多配置,略。

配置防火墙

防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口

打开/etc/sysconfig/iptables

在"-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT",下添加:

-A INPUT -m state --state NEW -m tcp -p -dport  -j ACCEPT

然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:

service iptables restart

CentOS 7中默认使用Firewalld做防火墙,所以修改iptables后,在重启系统后,根本不管用。

Firewalld中添加端口方法如下:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。

http://www.cnblogs.com/shijiaqi1066/p/4311061.html

Linux编译安装MySQL5.6的更多相关文章

  1. 转:Linux 编译安装 Mysql5.7

    http://broqiang.com/2017/04/18/Mysql-Install-5.7.18-Linux-Compile/ 原文 Linux 编译安装 Mysql5.7 Ubuntu 下快速 ...

  2. linux编译安装mysql5.1.x

    安装mysql,安装前准备 如果mysql用户不存在,那么添加mysql用户 groupadd mysql useradd -g mysql mysql mysql编译安装 make时间特别长 wge ...

  3. linux编译安装mysql5.7

    一.下载源码包 -src cd /usr/local/src/mysql--src wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5 ...

  4. linux上源码编译安装mysql-5.6.28

    在 linux 上编译安装 mysql-.tar.gz http://www.mysql.com/ mysql下载地址: http://www.mysql.com/downloads/mysql/#d ...

  5. Linux源码编译安装MySQL5.7

    目录[-] 一.环境准备: 二.升级系统: 三.做一些准备工作(以下Linux命令均在su到root用户操作): 四.开始编译安装mysql-5.7.9: 一.环境准备: 我尝试过以下环境都是能成功的 ...

  6. 【转】linux 编译安装nginx,配置自启动脚本

    linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...

  7. centos6.5环境源码编译安装mysql5.6.34

    centos6.5环境源码编译安装mysql5.6.34 源码下载地址http://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择Generic ...

  8. Ubuntu14.04编译安装mysql5.6.26

    Ubuntu14.04编译安装mysql5.6.26 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libncurses5-d ...

  9. linux 编译安装nginx,配置自启动脚本

    本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linu ...

随机推荐

  1. Chaperon简介

    Chaperon是一个可以把有结构的Text转换成XML.它包括一个强大的LALR(1)解析器来解析Text和一个可以用来创建XML文档的Tree builder. http://chaperon.s ...

  2. 自定义Web控件写事件

    --------------------myRegister1.ascx前台代码----------------------- <script src="js/Jquery1.7.js ...

  3. hg vs git :这个世界除了svn还有别的

    最近想用版本控制软件来保存汉化文件,但又觉得SVN太麻烦,于是想到了最近较为流行的分布式版本控制工具.而Git和Mercurial(意思为水银的,于是经常缩写为Hg)自然是其中最为流行的工具.大名鼎鼎 ...

  4. Ecshop开发

    http://www.cnblogs.com/xcxc/category/579565.html

  5. Qt学习笔记网络(URL和下载的功能都有)

    http://www.cnblogs.com/li-peng/p/3656613.html

  6. OnScroll与OnTouchEvent方法的区别与联系

    onScroll()方法和onTouchEvent()方法的执行过程应该是,先onTouchEvent()的ACTION_DOWN,然后是ACTION_MOVE和onScroll()方法同时进行,最后 ...

  7. TCP/IP 邮件的原理

    邮件通过SMTP协议来实现,有它的服务器SMTP服务器. 它是怎么在万维网中运行的呢? 我们来看看两个案例,下面的两个图来展示. 案例一: Alice通过传统的邮件服务器发送给Bob,Bob通过HTT ...

  8. 导航软件 CH Round #57 - Story of the OI Class

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2357%20-%20Story%20of%20the%20OI%20Class/导航软件 题解:刚开始看见题目, ...

  9. 折腾iPhone的生活——运营商信号显示数据化

    iOS7以后iphone的信号都是用5个小圆圈显示的,像这样 但是还有种显示方法可以用数字信号显示信号量,比较适合很专注于生活品质的人和对数字有偏爱的人,像这样: 这样还有个好处是可以节约顶部状态栏的 ...

  10. Python中With的用法

    在看Dive Into Python中有关描述文件读写那章节的时候,看到了有关with的用法,查阅下相关资料,记录下来,以备后用. 官方的reference上有关with statement是这样说的 ...