关键词:
MySQL可以支持多种平台,如Windows,UNIX,FreeBSD或其他Linux系统。本篇随笔记录在CentOS 7 上使用源码安装MySQL的过程。
1.下载源码
选择使用北理工的镜像文件:
在CentOS 7 中输入如下命令:
[root@javis:~/Downloads] # wget http://mirror.bit.edu.cn/mysql/Downloads/MySQL-5.6/mysql-5.6.31.tar.gz
2.解压mysql源码压缩文件,并更新软件源
3.安装编译所需软件包
yum install -y make gcc-c++ cmake bison-devel ncurses-devel gcc autoconf automake zlib* fiex* libxml* libmcrypt* libtool-ltdl-devel*
结果显示如下错误:
网上查找应对 [Errno 256] 的办法,使用如下命令:
yum clean all yum makecache
输入这两个命令后,重新下载那些编译MySQL依赖的软件包,这次一个一个安装,不要所有软件包都输入在同一个命令行里:
yum install -y make yum install -y gcc-c++ yum install -y cmake ......
这次libxml* 安装正常了,但是好像fiex* 的安装还是存在问题,且不管了,继续进行。
4. 使用cmake命令生成MakeFile
先生成/var/mysql/data 目录:
mkdir -p /var/mysql/data
关于CMake的介绍见百度:http://baike.baidu.com/link?url=N-Yk2wK5C807vyXsK58_93dRocV_NIitJKug8925aUovJrKNQ2roUOuCxK2m1xC9u2Vpz6WjHG18bwQtZrhH4a
输入如下命令:
[root@localhost:~/Downloads/mysql-5.7.13] # cmake \ > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ > -DMYSQL_DATADIR=/var/mysql/data \ > -DSYSCONFDIR=/etc \ > -DWITH_MYISAM_STORAGE_ENGINE=1 \ > -DWITH_INNOBASE_STORAGE_ENGINE=1 \ > -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ > -DMYSQL_TCP_PORT=3306 \ > -DENABLED_LOCAL_INFILE=1 \ > -DEXTRA_CHARSETS=all \ > -DDEFAULT_CHARSET=utf8 \ > -DDEFAULT_COLLATION=utf8_general_ci
结果出现如下错误:
百度搜索 CMake Error at cmake/boost.cmake:81 (MESSAGE),找到这么一个网页:http://www.cnblogs.com/chunguang/p/5553301.html
看到方法一太凌乱,就没好好看,直接选择了方法二----然而并没有效果;
再仔细看刚才cmake的错误提示:
对比搜到的那个网页的方法一,原来方法一跟cmake提示的一样,就是多加上一句cmake条件而已:-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
[root@localhost:~/Downloads/mysql-5.7.13] # cmake \ > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ > -DMYSQL_DATADIR=/var/mysql/data \ > -DSYSCONFDIR=/etc \ > -DWITH_MYISAM_STORAGE_ENGINE=1 \ > -DWITH_INNOBASE_STORAGE_ENGINE=1 \ > -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ > -DMYSQL_TCP_PORT=3306 \ > -DENABLED_LOCAL_INFILE=1 \ > -DEXTRA_CHARSETS=all \ > -DDEFAULT_CHARSET=utf8 \ > -DDEFAULT_COLLATION=utf8_general_ci > -DDOWNLOAD_BOOST=1 \ > -DWITH_BOOST=/usr/local/boost
CMake之,过程中出现如下画面:
这回CMake成功:
5.编译
该过程会花费大约30分钟~~~~
[root@localhost:~/Downloads/mysql-5.6.31] # make
6.安装
[root@localhost:~/Downloads/mysql-5.6.31] # make install
安装过程大约5分钟搞定吧。
7.添加用户并设置权限
[root@localhost:~/Downloads/mysql-5.6.31 ]# cd /usr/local/mysql #添加用户 [root@localhost:/usr/local/mysql ]# groupadd mysql [root@localhost:/usr/local/mysql ]# useradd -r -g mysql mysql #设置权限以便mysql能修改文件 [root@localhost:/usr/local/mysql ]# chown -R mysql.mysql ./ [root@localhost:/usr/local/mysql ]# chown -R mysql.mysql /var/mysql/data #初始化数据库 #需要注意,此处设置的数据目录应该与之前MYSQL_DATADIR 指定的目录相同 [root@localhost:/usr/local/mysql ]# scripts/mysql_install_db --usr=mysql -ldata=/var/mysql/data
执行结果:
使用 ll 命令可以看到新生成了my.cnf 文件
将my.cnf 备份
cp my.cnf my.cnf.backup
然后修改相应的目录的权限以便mysql修改:
[root@localhost: /usr/local/mysql]# chown -R root ./ [root@localhost: /usr/local/mysql]# chown -R mysql data
关于编译MySQL时的参数,这个网页有详细的说明:http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html
8. 配置MySQL的配置文件,如下所示:
9. 设置MySQL为系统服务
(i)将启动脚本放到 /etc/init.d 目录中
(ii)将 mysqld 添加为系统服务
(iii)启动MySQL服务
出现如上所示错误
网上搜寻答案,http://blog.sina.com.cn/s/blog_637e04c9010117ri.html,http://www.jb51.net/article/48625.htm,想到可能是因为刚才设置了
[root@localhost: /usr/local/mysql]# chown -R mysql.mysql ./ #后来又设置了 [root@localhost: /usr/local/mysql]# chown -R root ./
而 my.cnf 配置文件没有做正确的修改,按照刚才的错误提示,(The server quit without updating PID file (/var/mysql/data/javis)),修改my.cnf文件如下:
再次启动
成功!
(iv) 为 root 用户设置密码
在第一个红色方框处提示要输入密码,因为此时还没有为root 用户设置密码,所以什么都不用输入,直接按下回车键。
设置密码要按照第二个红色方框处的格式来进行设置,密码放在 password()的括号里,而且要用单引号包围起来。
显示正确后,输入quit退出。
谨记 2016-07-04-Mon 20:11
centos7运维管理笔记----apache基于端口的虚拟主机配置
...主机,可以使用基于端口的虚拟主机配置。(1)在虚拟机的CentOS7服务器上配置eth0:4为192.168.1.214: (2)配置/etc/hosts文件以方便测试: 进行ping测试,看ip地址有没有导通: (3)建立虚拟主机存放网页的根目录,并建立首页文... 查看详情
centos7运维管理笔记----apache基于域名的虚拟主机配置
使用基于域名的虚拟主机配置是比较流行的方式,可以在同一个IP上配置多个域名并且都通过80端口访问。(1)在网卡eth0的第五个接口上配置192.168.1.215这个地址:(2)配置/etc/hosts文件,192.168.1.215对应的域名如下:做ping测试,保... 查看详情
centos7运维管理笔记----apache基于ip的虚拟主机配置
...务绑定在不同的IP上。(1)绑定IP: 在虚拟机中搭建的CentOS7服务器的IP被自己设置为了静态IP192.168.1.210,现在使用ifconfig在同一个网络接 查看详情
centos7运维管理笔记(11)----解决配置静态ip还是会出现动态ip地址的问题
网上搜集CentOS7配置静态IP的方法,基本上都是说在/etc/sysconfig/network-scripts/ifcfg-eth0文件中做如下配置TYPE=EthernetHWADDR=00:xx:xx:xx:xx:xx#only:none,bootp,ordhcpBOOTPROTO=noneDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILU 查看详情
centos7系统管理和运维实战
centos7系统管理和运维实战 RHEL中包含了红帽自行开发的闭源软件,如红帽集群套件,这些软件并未开放源代码,因此也就未包含在centos发行版中centos发行版通常会修改RHEL中存在的bug,并提供了一个yum源以便用户可以随时更新... 查看详情
《centos7系统管理与运维实战》epub下载在线阅读,求百度网盘云资源
《CentOS7系统管理与运维实战》(王亚飞)电子书网盘下载免费在线阅读资源链接:链接:https://pan.baidu.com/s/1L0wHSWj0qWEVOyO_urCArQ 提取码:e0ly 书名:CentOS7系统管理与运维实战作者:王亚飞出版社:清华大学出... 查看详情
linux运维之centos7升级内核版本(代码片段)
系统环境:系统版本:CentOS7.9前内核版本:3.10.0-1160升级后的内核版本:5.4.171-1$uname-rsLinux3.10.0-1160.45.1.el7.x86_64安装ELRepo最新版本载入公钥并安装ELRepo最新版本:##载入公钥$rpm--importhttps://www.elrepo.org 查看详情
腾讯云专家经验凝聚成简,593页mysqldba工作笔记,透析mysql架构
参考技术A数据库运维的变革,经历从手工造到脚本化、系统化、平台化、智能化的转变,逐步实现DBA对数据库的规范化、自动化、自助化、可视化、智能化、服务化管理,从而保障数据库的安全、稳定、高效运行。MySQL则是目前... 查看详情
openstack私有云运维笔记(代码片段)
Openstack简介官方文档(中文):https://docs.openstack.org/zh_CN/什么是Openstack Openstack是由NASA(美国国家航空航天局)和Rackspace合作研发的IaaS解决方案,是以Apache许可证为授权的开源云计算管理平台。组件1)Horizon组件 Horizon为Ope... 查看详情
运维自动化之salt笔记
1:saltstack的基本介绍2:salt的安装1:服务端1:安装2:配置文件3:运行4:注意事项2:客户端1:安装2:配置文件3:运行4:注意事项 3:salt的使用:1:基础知识1:targeting2:nodegroup3:grains4:pillar2:状态管理1:state1:state语法2:state的逻辑关系2:highstate... 查看详情
学习linux运维第一天
第一步安装vmware-12第一步 企业常用centos7.2内核版本3.10 centos7.9内核版本3.10或者升级为4.18 ubutu20.版本16.04 阿里云mirrors 优化源 查看下源忘记root密码。电脑重启后,进入内核,... 查看详情
mysq学习笔记之十null值处理
这是MySQL一大特殊之处。 概念上。NULL意味着“没有值”或“未知值”,且它被看作有点与众不同的值。为了測试NULL。你不能使用算术比較运算符比如=、<或!=。为了说明它,试试下列查询... 查看详情
iphone运维的学习笔记
手机数据迁移IOS系统本身提供了数据迁移的功能;TimeRecord13:10开始“正在准备传输…”12:05提示需要对美区app单独输入相应的用户名和密码12:08显示“正在传输数据-剩余时间:正在估算…”12:19显示“正在传输数据-剩余时... 查看详情
自动化运维专题:ansible批量自动化管理工具(代码片段)
... 可结合ansible实现可视化运维 1.3环境说明 Centos7.5(yum-yinstalln 查看详情
部署dhcp服务--运维笔记
一·DHCP概述(1)Internet小组专门用于TCP/IP网络中的为计算机自动分配IP地址的TCP/IP参数协议。(2)dhcp的好处减少管理员的工作量,避免输入错误的可能,避免IP地址冲突,提高了IP的利用率,方便客户端配置。二·DHCP工作原理(1... 查看详情
《sre:google运维解密》读书笔记
...更管理、监控、故障处理、可用性改进以及优化;4.SRE将运维工作限制在50%,剩余时间花在研发上。5.SRE最终工作是在系统的稳定性和灵活性保持平衡;6.一个需要人工阅读邮件和分析警报来决定目前是否需要采取某种行动的系统... 查看详情
centos7.5运维之路初体验
CentOS7.5初体验首先下载CentOS7.5接下来开始安装CentOS7.5参考网上现有文章对基本操作系统进行安装点击>CentOS7.5安装文档接下来出现下图表示安装成功 查看详情
ad活动目录概述--运维笔记
1.活动目录的基本概念(1)域和域控制器:域是活动目录的一种实现形式,也是活动目录最核心的管理单位。(2)名称空间:一个区域的名字(3)对象和属性:对象代表的是具体事务,属性是用来描述对象的数据。(4)容器:存放... 查看详情