Centos6 源码安装mysql5.6
这里介绍如何使用centos6.*来安装mysql5.6版本。
先做一下准备工作
确定好用于运行mysql的用户,安全起见,建议拒绝次用户登录,仅用于运行程序。
useradd mysql -s/sbin/nologin
如果电脑的物理内存不是很多(1G以下),可以开启虚拟内存来缓解物理内存压力,避免应为内存的问题安装失败,或许也可以轻微的提升速度。
mkdir /myswap #创建一个swap文件
dd if=/dev/zero of=/myswap bs=1k count=2048000 #给swap文件提供2G的空间
mkswap /myswap
swap on #启用,启用后可以用free -m看一下是否正常应用了。
安装前确保先安装了CMAKE等这些编译需要用到的工具
yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio mysql: wget https://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.35.tar.gz
使用tar 命令将mysql的tar包解压到一个特定的位置
tar xf mysql-5.6.35.tar.gz -C /usr/src/
然后进入解压后的mysql源码包中
接下来使用cmake来编译安装mysql
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DWITH_DEBUG=0
等待一小会,执行完毕后确定没有问题的话在执行下一步操作来编译和安装
make&&make install
接下来是一个漫长的等待过程
等待进度到100%后可以在/usr/local/中看到mysql目录的信息。
开头说过,需要使用一个特定的用户来启动mysql,所以需要提前把目录的所属主和组都改一下,避免操作下一步的时候出现权限不足等问题。
[root@A 17:54:19]/usr/src/mysql-5.6.35]#chown mysql.mysql /usr/local/mysql -R
下一步,初始化mysql。
进入/usr/local/mysql目录下,在scripts目录下存初始化的执行文件,操作初始化,在mysql5.7版本后就不是使用这个文件初始化了,直接使用mysqld初始化。
[root@A 17:56:56]/usr/local/mysql]#./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
正常的话这几步操作很流利,不会出现报错,下一步,将mysql的启动程序移动到/etc/init.d/下方便启动,默认官方提供的启动脚本在安装目录下的support-files/ mysql.server 。
[root@A 18:01:41]/usr/local/mysql]#cp support files/mysql.server /etc/init.d/mysqld
mysql启动时会检查my.cnf也就是mysql的主配置文件,需要在CMAKE编译时指定,对应参数是:-DSYSCONFDIR=/etc 这就告诉mysql在/etc/下找my.cnf文件来读取配置,我习惯了直接在安装目录下配置,这也是mysql默认的机制,如果不配置的话,默认在安装目录下。
[root@A 18:06:16]/usr/local/mysql]#ls
bin COPYING data docs include lib logs man my.cnf my-new.cnf mysql.pid mysql-test README scripts share sql-bench support-files
my.cnf文件中定义mysql的缓存参数,数据目录等等信息,我的配置如下。
#mysqld定义的是服务端,也就是说,以后针对本机mysql的配置要写在这个标签下面 [mysqld] # Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin # These are commonly set, remove the # and set as required.
log-error = /usr/local/mysql/logs/error.log
pid-file = /usr/local/mysql/mysql.pid
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
server_id = 1
socket = /tmp/mysqld.sock
user= mysql
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
检查后正常后,就可以启动测试了。
service mysqld start
启动后,看3306端口有没有监听,监听后就可以连接,没有监听就去/usr/local/mysql/logs/error.log中看错误。
[root@A 18:14:14]~]#netstat -antp |grep LISTEN
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 20011/mysqld
tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN 10250/sshd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 20483/httpd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1655/master
启动后就可以连接了,默认没有密码。
直接使用root用户就可以连接进入。
mysql -uroot -hlocalhost
连接后要及时更改root的密码。
mysql> USE mysql;mysql> UPDATE user SET Password = password (‘新密码’) WHERE User = ‘root’ ;mysql> flush privileges ;mysql> quit
退出后即可验证,至此,mysql安装完毕。
Centos6 源码安装mysql5.6的更多相关文章
- CentOS6.7源码安装MySQL5.6
1.源码安装MySQL5.6 # CentOS6操作系统安装完成后,默认会在/etc目录下存在一个my.cnf, # 强制卸载了mysql-libs之后,my.cnf就会消失 rpm -qa | gr ...
- CentOS6.5源码安装MySQL5.6.35
CentOS6.5源码安装MySQL5.6.35 一.卸载旧版本 1.使用下面的命令检查是否安装有mysql [root@localhost tools]# rpm -qa|grep -i mysql ...
- CentOS6源码安装vim8
CentOS6源码安装vim8 vim8相比vim7多了很多功能. 不过需要源码来进行安装. 移除旧版本的vim yum remove vim 安装依赖库 sudo yum install -y ru ...
- lnmp之阿里云源码安装mysql5.7.17
mysql5.7.17一直号称世界上最好的mysql 那么就在阿里云主机linux安装它(采用的源码安装mysql5.7.17) 我在阿里云主机上安装它 连接阿里云主机 进入,跟我们自己装的虚拟机一毛 ...
- CentOS7 实战源码安装mysql5.7.17数据库服务器
CentOS7 实战源码安装mysql5.7.17数据库服务器 简介:实战演练mysql数据库服务器的搭建 mysql简介: mysql是一个开源的关系型数据库管理系统,现在是oracle公司旗下的 ...
- CentOS6下源码安装mysql-5.6.25
1.1.系统环境检查 1)检查系统版本 mkdir -p /server/tools/ cd /server/tools/ cat /etc/redhat-release 2)配置域名解析 vim / ...
- CentOS6.5下源码安装MySQL5.6.35
接上一篇文章使用RPM包安装MySQL,确实很方便.但是安装后却不知道各文件保存在哪个文件夹下!尝试使用源码安装~本文主要参考:CentOS 6.4下编译安装MySQL 5.6.14一.卸载旧版本 . ...
- 搭建LNAMP环境(一)- 源码安装MySQL5.6
1.yum安装编译mysql需要的包 yum -y install gcc-c++ make cmake bison-devel ncurses-devel perl 2.为mysql创建一个新的用户 ...
- CentOS7下源码安装mysql5.6
目录 准备工作 运行环境 确认你的安装版本 下载mysql 安装mysql 准备安装环境 编译和安装 配置mysql 单实例配置 单实例配置方法 添加防火墙 ...
随机推荐
- b/s和c/s
一.B/S结构 B是英文单词“Browser”的首字母,即浏览器的意思:S是英文单词“Server”的首字母,即服务器的意思.B/S就是“Browser/Server”的缩写,即“浏览器/服务器”模式 ...
- iOS用contenteditable滚动时,光标不会刷新定位的处理方法
分析 iOS的 wkwebview 在滚动时会暂停许多动画,作为优化 解决思路 监听滚动事件,利用文档重绘即可刷新动画 ps:因为滚动有惯性,touchmove事件只能监听到手指松开的那一刻,所以只能 ...
- zookeeper+activemq高可用集群搭建
一.准备工作: 准备三台机器:192.168.35.111192.168.35.112192.168.35.113 二.搭建zookeeper 三台机器上均要搭建zookeeper服务// 下载zoo ...
- Linux学习篇之OpenKM的安装(汉化)
OpenKM是一个开放源代码的电子文档管理系统,它的特点是可用于大型公司或是中小企业, 适应性比较强. 并且在知识管理方面的加工,提供了更加灵活和成本较低的替代应用,下面讲一下搭建方法. 一.以下都是 ...
- 五,pod控制器应用进阶
目录 Pod 资源 标签 给资源打标签 标签选择器 Pod 生命周期 pod状态探测 livenessProbe 状态探测 livenessProbe exec 测试 livenessProbe ht ...
- zk和eureka的区别(CAP原则)
作为服务注册中心,Eureka比Zookeeper好在哪里 著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性).A(可用性)和P(分区容错性).由于分区容错性在是分布式系统中必须要保证的, ...
- Python enumerate 使用技巧
enumerate() 是Python内建的函数,能让打印的结果更清晰,不管是列表,元组,字典,enumerate()都可以帮你完成,在某些需求下还是非常好用的. >>> a = [ ...
- 标准C语言(8)
指针变量用来记录地址数据,指针变量的用途就是找到另外一个变量,没有记录有效地址的指针不能用来找到其它变量,声明指针变量时必须在变量名称前写*.如果一个指针变量记录了另外一个变量的地址就可以认为它们之间 ...
- Linux perf命令详解及常用参数解析
perf 相关命令:暂无相关命令 perf是Linux下的一款性能分析工具,能够进行函数级与指令级的热点查找. Perf List利用perf剖析程序性能时,需要指定当前测试的性能时间.性能事件是指在 ...
- 【鸽】poj3311 Hie with the Pie[状压DP+Floyd]
题解网上一搜一大坨的,不用复述了吧. 只是觉得网上dp方程没多大问题,但是状态的表示含义模糊.不同于正常哈密顿路径求解,状态表示应当改一下. 首先定义一次移动为从一个点经过若干个点到达另一个点,则$f ...