CentOS 6.4下编译安装MySQL 5.6.16
一、卸载旧版本号MySql
1、rpm卸载:
1> 检查安装包:
rpm -qa | grep mysql
2> 普通删除:
rpm -e mysql-5.6.16.rpm
3> 强力删除。假设使用上面命令删除时。提示有依赖的其它文件,则使用该命令能够对其进行强力删除。
rpm -e --nodeps mysql-5.6.16.rpm
2、tar卸载:
1> 删除暂时文件:
make clean
2> 卸载
make uninstall
3> 删除解压文件
rm -rf 目录
3、yum卸载:
1> 卸载一个软件:
yum remove package_name
2> 卸载多个:
yum remove package_name1 package_name2 package_name3
二、安装MySql
1、安装编译器gcc-c++:
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2、下载并解压:
1> 下载tar安装包:
wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz
2> 解压安装包:
tar -xzvf mysql-5.6.16.tar.gz
3> 给解压文件重命名:
mv mysql-5.6.16 mysql
3、编译安装:
1、进入安装文件夹:
cd mysql
2、配置參数:
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/home/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
3> 编译安装:
make && make install
编译的參数能够參考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html。
整个过程须要30分钟左右……漫长的等待
三、配置MySql:
1、设置权限:
1> 使用以下的命令查看是否有mysql用户及用户组:
cat /etc/passwd 查看用户列表
cat /etc/group 查看用户组列表
2> 假设没有就创建:
groupadd mysql
useradd -g mysql mysql
3> 改动/usr/local/mysql权限:
chown -R mysql:mysql /usr/local/mysql
2、初始化配置:
1> 进入安装路径
cd /usr/local/mysql
2、进入安装路径,运行初始化配置脚本,创建系统自带的数据库和表:
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/home/mysql/data --user=mysql
注:在启动MySQL服务时。会依照一定次序搜索my.cnf,先在/etc文件夹下找,找不到则会搜索"$basedir/my.cnf"。在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!
注意:在CentOS 6.4版操作系统的最小安装完毕后,在/etc文件夹下会存在一个my.cnf,须要将此文件更名为其它的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源代码安装的MySQL的正确配置。造成无法启动。
注意:有时会因没有运行权限而无法运行,须要改动一下权限。
3、启动MySQL:
1> 加入服务。拷贝服务脚本到init.d文件夹。并设置开机启动并生效(能够不设置)
cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
2> 启动MySql:
service mysql start --启动MySQL
4、配置用户
MySQL启动成功后。root默认没有password,我们须要设置rootpassword。
设置之前,我们须要先设置PATH,要不不能直接调用mysql
1> 改动/etc/profile文件,在文件末尾加入
PATH=/usr/local/mysql/bin:$PATH
export PATH
2> 使环境变量配置文件马上生效:
source /etc/profile
3> 在终端内直接输入mysql进入mysql的环境,运行以下的命令改动rootpassword:
mysql -uroot
mysql> SET PASSWORD = PASSWORD('123456');
4> 若要设置root用户能够远程訪问,运行
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password'
WITH GRANT OPTION;
红色的password为远程訪问时。root用户的密码,能够和本地不同。
5、配置防火墙:(假设不使用防火墙,这一步能够不用)
1> 防火墙的3306port默认没有开启。若要远程訪问。须要开启这个port
打开/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 3306 j ACCEPT
2> 然后保存,并关闭该文件,在终端内执行以下的命令。刷新防火墙配置:
service iptables restart
OK!
CentOS 6.4下编译安装MySQL 5.6.16的更多相关文章
- Linux CentOS6.5下编译安装MySQL 5.6.16【给力详细教程】
一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake,从http://www.cmake ...
- CentOS 6.4下编译安装MySQL 5.6.14
概述: CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server ...
- CentOS 6.4下编译安装MySQL 5.6.14 (转)
CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm ...
- 0622 CentOS 6.4下编译安装MySQL 5.6.14
转自http://www.cnblogs.com/xiongpq/p/3384681.html 概述: CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版 ...
- CentOS 下编译安装MySQL
CnetOS 下编译安装 MySql 查看是否存在旧版本: rpm -qa | grep mysql 卸载旧版本: rpm -e mysql #普通删除模式 rpm -e --nodeps mys ...
- 不要着急改代码,先想想--centos 6.8下编译安装tmux
诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...
- CentOS Linux下编译安装MySQL
本文参考张宴的Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创]完成.所有操作命令都在CentOS 6.4 64位操作系统下实践 ...
- CentOS下编译安装MySQL 5.6.21
一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake:http://www.cnblog ...
- Linux下编译安装MySQL
一.环境准备yum install -y ncurses-devel libaio-develyum install -y cmake makeuseradd -s /sbin/nologin -M ...
随机推荐
- android 网络交互
一. 在Android中,发送和处理http请求实在太常见了,以至于我们经常需要写这方面的代码. Android中网络交互的代码不能在UI线程中执行,只能在额外的子线程中执行. 我一般的做法是通过创建 ...
- 关于Linux系统清理/tmp/文件夹的原理
转自:http://www.opsers.org/base/clean-up-on-the-linux-system-tmp-folder-you-may-want-to-know.html 我们知道 ...
- 关于caffe-windows中 compute_image_mean.exe出现的问题
这两天有兴致装了下caffe.感受下这个框架. 可是在这个过程中遇到非常多问题.我把碰到的问题和解决方式写下,便于后人高速上手. compute_image_mean.exe 编译出来后.运行数据变换 ...
- Java基础03 构造器与方法重载
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在方法与数据成员中,我们提到,Java中的对象在创建的时候会初始化(initial ...
- const与define的使用区别
1.const用于类成员变量定义,一旦定义且不能改变其值.define定义全局常量,在任何地方都可以访问. 2.define不能在类中定义而const可以. 3.const不能在条件语句中定义常量 i ...
- Hadoop自定义Counter
1.通过enum自定义Counter public static num LOG_PROCESSOR_COUNTER { BAD_RECORDS }; 2.在Mapper或者Reducer中操作Cou ...
- [Java][activiti]Activiti这个过程委托功能[getAssignee()与getOwner()差异]
一.流程图: 二.流程定义文件: AssigneeUserAndGroup.bpmn 三.单元測试: ProcessTestDelegateTask.java 四.主要运行语句 // 签收 taskS ...
- Android手势识别 Camera 预览界面上显示文字 布局注意事项(merge布局)
通常在Surfaceview作为预览视频帧的载体,有时需在上面显示提示文字.曾经我弄的都好好的.今天忽然发现叠加的TextView不管咋弄都出不来文字了,跟Surfaceview一起放在FrameLa ...
- 更快地从IplImage转换成QImage
转:http://blog.sina.com.cn/s/blog_5c70dfc80100qzif.html 在Qt平台上使用OpenCV肯定会遇到从IplImage到QImage的转换问题,找了很多 ...
- PHP学习之-正则表达式
PHP学习之-正则表达式 1.什么是正则表达式 正则表达式是对字符串处理额一种逻辑公式,就是用特定的字符串组合成一个规则的字符串,称之为正则匹配模式 $p = '/apple/'; $str = '' ...