CentOS 7 源码安装MysqL5.7.19

1. 引言

本指南介绍如何在 CentOS 7.1(64 位)上源码安装MysqL5.7.19。

参考系统:

[root@centos7 ~]# hostnamectl
   Static hostname: centos7.example.com
         Icon name: computer
           Chassis: n/a
        Machine ID: 583b4d69eaea465ea4bb96ac3b891e15
           Boot ID: 931ed1af622046ebbde071a87844a7d5
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-229.11.1.el7.x86_64
      Architecture: x86_64

2. 先决条件

成功安装操作系统后,请确认主机名称并在你的 DNS 上登记它。你也可选择在 /etc/hosts 内加入你的 IP 主机名

[root@centos7 ~]# cat /etc/hostname
centos7.example.com

启用防火墙

[root@centos7 ~]# firewall-cmd --state
running

把 CentOS 系统更新至最新组件,安装依赖包

yum update -y
yum -y install gcc gcc-c++ ncurses ncurses-devel cmake

下载MysqL-5.7.19.tar.gz版本

cd /root/
wget https://cdn.MysqL.com//Downloads/MysqL-5.7/MysqL-5.7.19.tar.gz

下载 Boost_1_59_0.tar.gz

cd /root/
wget https://ncu.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
tar xzvf boost_1_59_0.tar.gz

3. 安装步骤

添加禁止登陆的MysqL用户,创建安装目录

[root@centos7 ~]# groupadd -r MysqL && useradd -r -g MysqL -s /bin/false -M MysqL
[root@centos7 ~]# mkdir -p /opt/MysqL/app
[root@centos7 ~]# mkdir -p /opt/MysqL/data

预编译MysqL(debug版)

[root@centos7 ~]# tar zxvf MysqL-5.7.19.tar.gz
cd MysqL-5.7.19
mkdir bld
cd bld
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/MysqL/app \
-DMysqL_DATADIR=/opt/MysqL/data \ -DCMAKE_BUILD_TYPE=Debug \ -DSYSconfdIR=/etc \ -DWITH_BOOST=/root/boost_1_59_0 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DENABLE_DTRACE=0 \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci \ -DWITH_EMbedDED_SERVER=OFF

编译安装

[root@centos7 ~]# make -j `grep processor /proc/cpuinfo | wc -l` 
[root@centos7 ~]# make install

设置权限并初始化 MysqL 系统授权表

[root@centos7 ~]# cd /opt/MysqL/
chown -R MysqL:MysqL .
mkdir temp
chmod 777 ./temp
./app/bin/MysqLd --initialize-insecure --user=MysqL --basedir=/opt/MysqL/app --datadir=/opt/MysqL/data

4. 安装后的任务

4.1.创建配置文件

[root@centos7 ~]# cat > /etc/my.cnf << EOF

[client]    
port=3306    
socket=/opt/MysqL/temp/MysqL.sock    
[MysqLd]    
character-set-server=utf8    
collation-server=utf8_general_ci
skip-external-locking   
skip-name-resolve
user=MysqL   
port=3306    
basedir=/opt/MysqL/app    
datadir=/opt/MysqL/data   
tmpdir=/opt/MysqL/temp    
# server_id = ..... 
socket=/opt/MysqL/temp/MysqL.sock  
log-error=/opt/MysqL/logs/MysqL_error.log    
pid-file=/opt/MysqL/MysqL.pid    
open_files_limit=10240    
back_log=600    
max_connections=500    
max_connect_errors=6000    
wait_timeout=605800    
#open_tables=600 
#table_cache = 650 
#opened_tables = 630
max_allowed_packet=32M   
sort_buffer_size=4M    
join_buffer_size=4M    
thread_cache_size=300    
query_cache_type=1    
query_cache_size=256M    
query_cache_limit=2M    
query_cache_min_res_unit=16k
tmp_table_size=256M   
max_heap_table_size=256M
key_buffer_size=256M   
read_buffer_size=1M    
read_rnd_buffer_size=16M    
bulk_insert_buffer_size=64M
lower_case_table_names=1
default-storage-engine=INNODB
innodb_buffer_pool_size=2G   
innodb_log_buffer_size=32M    
innodb_log_file_size=128M    
innodb_flush_method=O_DIRECT    
##################### 
long_query_time=2    
slow-query-log=on    
slow-query-log-file=/opt/MysqL/logs/MysqL-slow.log
[MysqLdump]   
quick    
max_allowed_packet=32M
[MysqLd_safe]   
log-error=/var/log/MysqLd.log    
pid-file=/var/run/MysqLd/MysqLd.pid    
EOF

4.2.配置MysqL服务

[root@centos7 ~]# cp /opt/MysqL/app/support-files/MysqL.server /etc/init.d/MysqLd
chkconfig --add MysqLd
chkconfig MysqLd on

4.3. 防火墙

请登录成为 root 并检查已引导的本地

[root@centos7 ~]# firewall-cmd --get-active-zones
public
  interfaces: eth0

打开相关的端口

[root@centos7 ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@centos7 ~]# firewall-cmd --reload
success
[root@centos7 ~]# firewall-cmd --list-ports
3306/tcp

4.4. 启动服务

service MysqLd start
netstat -anpt | grep MysqLd

4.5.配置MysqL环境变量

echo -e '\n\nexport PATH=/opt/MysqL/app/bin:$PATH\n' >> /etc/profile && source /etc/profile

4.6.设置数据库root用户密码

MysqL_secure_installation

4.7.创建其他MysqL数据库用户

MysqL -uroot -p   
MysqL> CREATE USER 'jackgo'@'localhost' IDENTIFIED BY 'server@123'; 
myqsl> exit

CentOS 7 源码安装Mysql5.7.19的更多相关文章

  1. HTML实现代码雨源码及效果示例

    这篇文章主要介绍了HTML实现代码雨源码及效果示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  2. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  3. 源码推荐:简化Swift编写的iOS动画,iOS Material Design库

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  4. swift皮筋弹动发射飞机ios源码

    这是一个款采用swift实现的皮筋弹动发射飞机游戏源码,游戏源码比较详细,大家可以研究学习一下吧。

  5. swift 写的app 源码,保存一下下

    http://www.topthink.com/topic/3345.htmlhttp://www.csdn.net/article/2015-01-09/2823502-swift-open-source-libs

  6. swift 源码网站 code4app

    http://code4app.com/ios/HTHorizontalSelectionList/54cb2c94933bf0883a8b4583http://123.th7.cn/code/DMPagerViewController_2522.html

  7. OpenStack Swift源码导读:业务整体架构和Proxy进程

    OpenStack的源码分析在网上已经非常多了,针对各个部分的解读亦是非常详尽。其中proxy是前端的业务接入进程。account、container和object目录分别是账户、容器和对象的业务处理逻辑进程。各个业务进程或模块之间的逻辑关系可以参考《OpenstackSwift简介》文中的架构图。在《OpenstackSwift简介》从理论上面介绍了具体的节点寻找过程。

  8. 源码推荐(7.21):顶部滑动菜单FDSlideBar,Swift版无限循环轮播图

    顶部滑动菜单FDSlideBarFDSlideBar是一个顶部滑动菜单,如常见的网易、腾讯新闻等样式。菜单间切换流畅,具有较好的体验性。测试环境:Xcode6.2,iOS6.0以上Swift版无限循环轮播图无限循环轮播图片点击代理可设置图片Url的数组Url和本地图片混合轮播测试环境:Xcode6.2,iOS7.0以上弹幕系统实现--QHDanumuDemo说明:QHDanmu文件夹下是主要的弹幕模块系统,QHDanmuSend文件夹下是简单的发射弹幕的界面。

  9. openstack swift和wsgi源码分析1 HTTP请求处理过程

    分析proxy-server代理服务的执行流程,其他的三个主要服务accountserver,containerserver,objectserver执行过程通proxyserver类似。入口函数调用run_wsgi,此函数完成以下工作:下面重点研究下process_request函数是如何把消息转化为HTTP的request对象这一过程。process_request函数,生成HttpProtocol对象,并执行init操作,注意,HttpProtocol对象自身没有init函数,所以会调用父类的父类的

  10. fir.im Weekly - 进击的 Swift

    最近Swift开源了,众开发者们欢呼雀跃。本期fir.imWeekly准备了一些关于Swift的“新鲜”干货分享,也包括一些优秀的GitHub源码、开发工具和技术文章等等。同时,苹果启用了新的官网:Swift.org,Swift的GitHub主页:https://github.com/apple/swiftSwift3API设计准则勤快的@星夜暮晨翻译了苹果Swift官方网站博客的一篇文章:Swift3APIDesignGuidelines,了解Swift3特性,希望对你有所帮助。如何在iOS中实现一个可

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部