CentOS 6.4 下编译安装MySQL

Gloria36 等级 295 0 0

概述:

CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14。

正文:

一:卸载旧版本

使用下面的命令检查是否安装有MySQL Server

rpm -qa | grep mysql

有的话通过下面的命令来卸载掉

rpm -e mysql   //普通删除模式
rpm -e --nodeps mysql    // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

二:安装MySQL

安装编译代码需要的包

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

下载MySQL 5.6.14

wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz
tar xvf mysql-5.6.14.tar.gz
cd mysql-5.6.14

编译安装

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

make && make install

编译的参数可以参考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html

整个过程需要30分钟左右……漫长的等待

三:配置MySQL

设置权限

使用下面的命令查看是否有mysql用户及用户组

cat /etc/passwd 查看用户列表
cat /etc/group  查看用户组列表

如果没有就创建

groupadd mysql
useradd -g mysql mysql

修改/usr/local/mysql权限

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

修改/usr/local/mysql权限

初始化配置

进入安装路径

cd /usr/local/mysql

进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表

scripts/mysql\_install\_db --basedir=/usr/local/mysql --datadir=/usr/local/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的正确配置,造成无法启动。

在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。

启动MySQL

添加服务,拷贝服务脚本到init.d目录,并设置开机启动

cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start  --启动MySQL

配置用户

MySQL启动成功后,root默认没有密码,我们需要设置root密码。

设置之前,我们需要先设置PATH,要不不能直接调用mysql

修改/etc/profile文件,在文件末尾添加

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

关闭文件,运行下面的命令,让配置立即生效

source /etc/profile

现在,我们可以在终端内直接输入mysql进入,mysql的环境了

执行下面的命令修改root密码

mysql -uroot  
mysql> SET PASSWORD = PASSWORD('123456');

若要设置root用户可以远程访问,执行

mysql> GRANT ALL PRIVILEGES ON \*.\* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;

红色的password为远程访问时,root用户的密码,可以和本地不同。

配置防火墙

防火墙的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 3306 -j ACCEPT

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

service iptables restart
OK,一切配置完毕,你可以访问你的MySQL了~  

------------------------------------------------------------------------------------------------------------------

2014年12月02日添加:

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

Firewalld中添加端口方法如下:

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

firewall-cmd --reload

收藏
评论区

相关推荐

mysql表和字段的操作
(3)mysql表和字段的操作 (3)mysql表和字段的操作 创建表 create table name( id int, student varchar(20) ); 查看表结构 常用 describe 表名; 修改表名 老表 rename 新表 ALTER TABLE tb\_men
centos 7 install MySQL-python
centos 7 install MySQLpython 安装 MySQLpython 安装命令 easy_install2.7 install MySQLpython 报错解决 1. EnvironmentError: mysql_config not found 解决办法:yum install mysqldevel 2
我的错误总结
使用redis时MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redi
CentOS 6.4 下编译安装MySQL
概述: CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14。 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm qa | grep
21分钟 MySQL 入门教程
21分钟 MySQL 入门教程 目录 一、MySQL的相关概念介绍(c1) 二、Windows下MySQL的配置(c2) 配置步骤(d1) MySQL服务的启动、停止与卸载(d2) 三、
CentOS 常见异常及解决办法
1.pip3安装mysqlclient报错python setup.py egg_info Check the logs for full command output.在CentOS上部署Django项目时,经常需要安装MySQL数据库引擎,如mysqlclient,在执行pip3 install mysqlclient命令时,可能会报错如下:
MySQL(一)MySQL基础介绍
最近的学习内容是数据库相关的一些知识,主要以MySQL为主,参考书籍——《MySQL必知必会》MySQL学习及下载地址:https://dev.mysql.com/MySQL学习使用注意事项:1、必须访问一个已有的MySQL服务器,需要一个服务器账号(一个登录名和一个口令)2、MySQL运行在所有主要平台上,包括Windows、Linux、Solaris、M
Mysql Workbench使用教程
<1 MySQL WorkbenchMySQL Workbench 为数据库管理员、程序开发者和系统规划师提供可视化的Sql开发、数据库建模、以及数据库管理功能。 <2.MySQL Workbench 的下载和安装 (1)安装最新MySql时,有是否安装MySql Workbench的选项,可选择安装。 (2)可以独立安装MySql Workbench。
MySQL-Workbench使用
MySQL Workbench使用简单介绍下Workbench的使用 Workbench是MySQL官方提供的一个可视化管理工具,跨多个平台而且免费的,详情参考。 我们从下载地址下载,安装就行了安装workbench 安装 可以单独下载,也可以使用提供的一个管理工具统一下载管理,管理工具提供了整个MySQL所有相关组件的统一管理维护,也挺方便。管理工
什么是索引?Mysql目前主要的几种索引类型
一、索引MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。索引分单列索引和组合索引。单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引。组合索引,即一个索引包含多个列。创
解决mysql ERROR 1045 (28000)-- Access denied for user
解决mysql ERROR 1045 (28000) Access denied for user问题,出现以下问题D:\develop\ide\mysql\mysql5.7\bin mysql u root p Enter password: ERROR 1045 (28000): Access denied for user 'ODBC'@'localh
MySQL最全整理,1200页文档笔记,从高级到实战讲的太清楚了
闲话作为一名编程人员,对MySQL一定不会陌生,尤其是互联网行业,对MySQL的使用是比较多的。对于求职者来说,MySQL又是面试中一定会问到的重点,很多人拥有大厂梦,却因为MySQL败下阵来。实际上,MySQL并不难,今天这份最全的MySQL总结,一共1200页,几乎涵盖了MySQL的所有知识,尤其突出了实战技能和高级知识点,无论是工作还是面试看完这篇就足
阿里Java架构师谈:2021年最新Java面试经历
第一家是美团美团的话,三面下来,设计的内容知识也是挺广的吧,有MySQL、Redis、Kafka、线程、算法、+、volatile、线程、并发、设计模式等等... 一面问题:MySQL+Redis+Kafka+线程+算法 mysql知道哪些存储引擎,它们的区别 mysql索引在什么情况下会失效 mysql在项目中的优化场景,慢查询解决等 my
超详细图解!【MySQL进阶篇】存储过程,视图,索引,函数,触发器
@ 1.1 下载Linux 安装包下载地址: 1.2 安装MySQLcAPACHE1). 卸载 centos 中预安装的 mysql rpm qa | grep i mysql rpm e mysqllibs5.1.711.el6.x8664 nodeps2). 上传 mysql 的安装包 alt + p put E:/test/MySQL5.6.221
年后腾讯二面,第一个问MySQL主从结构,给我整不会了
一、MySQL一主一从 数据库服务器192.168.4.51配置为主数据库服务器 数据库服务器192.168.4.52配置为从数据库服务器 客户端192.168.4.50测试配置其中192.168.4.51是主服务器,另一台192.168.4.52作为从服务器,通过调取主服务器上的binlog日志,在本地重做对应的库、表,实现与主服务器的数据同步

热门文章

MySQL数据类型详解和存储机制

最新文章

MySQL数据类型详解和存储机制