热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos7手工编译mysql5.7数据库详解(附源码包)

mysql简介:MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据

mysql简介:
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

实验环境:centos7一台,NAT模式
虚拟机挂载编译的目录大小不能小于8G这样,建议添加一块磁盘,挂载到本   地进行编译安装

链接:https://pan.baidu.com/s/1XFej_DoR3bXkCiTxFqhVOQ 密码:amv1 
boost源码包地址
链接:https://pan.baidu.com/s/1L4Saf17boqWTAqmm9mKWrw 密码:dhjk
mysql5.7源码包地址

注意事项:编译所需要的存储空间不少于7G,建议虚拟机添加磁盘挂载编译

1、安装编译环境包如下:

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

2、创建mysql用户

useradd -s /sbin/nologin mysql

3、挂载宿主机文件夹,解压包

mount.cifs //192.168.60.1/linuxbage /root/abc
tar zxvf mysql-5.7.17.tar.gz -C /abc/
tar zxvf boost_1_59_0.tar.gz -C /usr/local/

4、更改boost目录名,方便编译缩写
cd /usr/local/        //到解压的目录下
mv boost_1_59_0 boost      /将boost改名

5、到mysql解压的目录下

cd /root/abc
编译参数如下
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCOnFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1
centos7手工编译mysql5.7数据库详解(附源码包)

6、make && make install

7、chown -R mysql.mysql /usr/local/mysql/         变更mysql属主属组

8、更改配置文件

vim /etc/my.cnf

centos7手工编译mysql5.7数据库详解(附源码包)

针对不同区域进行配置
client] 客户端
port = 3306 3306端口
default-character-set=utf8 字符集
socket = /usr/local/mysql/mysql.sock 客户端连接服务端的连接目录

[mysql] 服务端
port = 3306 3306端口
default-character-set=utf8 字符集
socket = /usr/local/mysql/mysql.sock 连接目录

[mysqld] 针对于服务本身而言进行设定
user = mysql 管理用户是mysql
basedir = /usr/local/mysql 工作目录路径
datadir = /usr/local/mysql/data 数据库文件路径,会自动生成
port = 3306 端口3306
character_set_server=utf8 字符集
pid-file = /usr/local/mysql/mysqld.pid pid进程文件
socket = /usr/local/mysql/mysql.sock 连接目录
server-id = 1 server id

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,
NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

9、修改my.cnf的属主属组,添加环境变量
centos7手工编译mysql5.7数据库详解(附源码包)

10、初始化数据库

cd /usr/local/mysql/

bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

11、复制启动脚本

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service  /usr/lib/systemd/system/

12、启动mysql
centos7手工编译mysql5.7数据库详解(附源码包)

systemctl daemon-reload
systemctl start mysqld
netstat -anpt | grep 3306
systemctl enable mysqld

13、设置登陆密码

mysqladmin -u root -p password "abc123"

14、登陆mysql,查看数据库
centos7手工编译mysql5.7数据库详解(附源码包)
centos7手工编译mysql5.7数据库详解(附源码包)

15、设置权限,实现远程登陆

grant all privileges on . to 'root'@'%' identified by 'abc123' with grant option;
centos7手工编译mysql5.7数据库详解(附源码包)

end~


推荐阅读
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 1.官网下载了mysql-5.7.17-win64.zip包,配置遇到很多麻烦,记录一下;2.解压后放到指定的文件夹,修改mysql-5.7.17的配置文件my-default.i ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了解决MySQL数据库Error Code: 1030错误的方法和原因。通过检查文件权限和磁盘空间,注释掉innodb_force_recovery参数等步骤,可以解决无法插入数据和修改文件的问题。 ... [详细]
author-avatar
雅婷婉君323
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有