四、Linux(CentOS7)通过编译源码方式安装MySql数据库

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 通过编译源码方式安装MySQL数据库,下面是详细操作步骤(因为太繁琐,实际应用中不推荐):1、安装文件准备• 下载cmake-3.5.1.tar.gz ---新版的MySQL用CMAKE编译安装http://www.cmake.org/download/• 下载ncurses-5.9.tar.gz ---安装MySQL时需要ftp://ftp.gnu.org/gnu/ncurses/• 下载bison-3.0.4.tar.gz ---安装MySQL时需要

通过编译源码方式安装MySQL数据库,下面是详细操作步骤(因为太繁琐,实际应用中不推荐):


1、安装文件准备






2、安装CMAKE及必要的软件


a.安装CMAKE


# cd /usr/local/src 
# tar -zxv -f cmake-3.5.1.tar.gz      # cd cmake-3.5.1 # ./bootstrap # gmake 
# gmake install 
# vi /etc/profile   ---修改环境变量在文件末尾追加以下两行代码 PATH=/usr/local/bin:$PATH export PATH 
# source /etc/profile   ---使修改生效 # cmake –version  ---查看cmake版本


b.安装ncurses


# cd /usr/local/src
# tar –zxvf ncurses-5.9.tar.gz
# cd ncurses-5.9
# ./configure
# make
# make install


c.安装bison


# cd /usr/local/src
# tar –zxvf bison-3.0.4.tar.gz
# cd bison-3.0.4
# ./configure
# make
# make install


d.安装boost(mysql1.7.11 要求boost版本为1.59)


# cd /usr/local/src
# tar –zxvf boost_1_59_0.tar.gz
# cp –a /usr/local/src/boost_1_59_0 /usr/local/boost


3、新建mysql用户、组及目录


# groupadd mysql
# useradd -r -g mysql mysql ---新建一个msyql组  
 # mkdir /usr/local/mysql ---新建msyql用户禁止登录shell
# mkdir /usr/local/mysql/data ---创建目录  ---数据仓库目录


4、编译安装mysql


# cd /usr/local/src/
# tar -zxvf mysql-5.7.11.tar.gz
# cd mysql-5.7.11
# cmake       ---如果不指定下面的参数会默认安装
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \     ---mysql的安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data/ \      ---数据库目录
-DDEFAULT_CHARSET=utf8 \      ---字符集支持
-DDEFAULT_COLLATION=utf8_general_ci \   ---字符集支持
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \   ---指定mysql.sock位置
-DWITH_INNOBASE_STORAGE_ENGINE=1 \    ---添加INNOBASE不加建表时报错
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \     ---添加ARCHIVE不加建表时报错
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \   ---添加BLACKHOLE不加建表时报错
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1   ---添加PERFSCHEMA不加建表时报错
-DWITH_BOOST=/usr/local/boost        ---从MySQL 5.7.5开始Boost库是必需的


具体执行命令:


#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/hisc/local/mysql/data/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_BOOST=/usr/local/boost
#make
#make install


5、设置权限并初始化MySQL系统授权表


# cd /usr/local/mysql
# chown -R mysql .       ---更改所有者,注意是mysql .
# chgrp -R mysql .        ---改所属组,注意是mysql . 
# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/hisc/local/mysql/data  ---以root初始化操作时要加--user=mysql参数,生成一个随机密码(注意保存登录时用)(密码:root@localhost: X5)1l3wh-eL8)
#chown -R root . ---改所有者,注意是root .
#chown -R mysql /hisc/local/mysql/data ---更改data 目录所有者为mysql


6、创建配置文件


#mv /etc/my.cnf my.cnf.bak ---将默认生成my.cnf改名或删除否则启动服务会报错
#cd /usr/local/mysql/support-files ---进入MySQL安装目录支持文件目录
#cp my-default.cnf /etc/my.cnf ---复制模板为新的配置文件,根据需要修改文件中配置选项如不修改配置MySQL则按默认配置参数运行。
#/usr/local/mysql/bin/mysqld_safe --user=mysql & ---后台启动mysql


7、配置mysql自动启动


#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql ---复制启动文件
#chmod 755 /etc/init.d/mysql ---增加执行权限
#chkconfig --add mysql ---加入自动启动项
#chkconfig --level 345 mysql on ---设置MySQL在345等级自动启动


把服务文件放到/etc/init.d/目录下面相当于改为了rpm包安装的服务使用方式。


8、配置Mysql系统环境变量


#vi /etc/profile ---编辑/etc/profile文件在最后添加如下两行
PATH=/usr/local/mysql/bin:$PATH 
export PATH  ---不加登录mysql时会报错“-bash: mysql: command not found”
#source /etc/profile ---使环境变量及时生效


9、启动MySQL服务


# /usr/local/mysql/support-files/mysql.server start ---启动mysql服务
# /usr/local/mysql/support-files/mysql.server restart ---重启mysql
# /usr/local/mysql/support-files/mysql.server stop ---停止mysql服务


也可以用service mysql start或systemctl start mysql这样的rpm服务命令,还可以使用绝对路径/etc/init.d/mysql start来启动mysql,因为上面已经把启动方式改为了rpm服务启动方式。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
8月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
453 41
|
8月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
576 17
|
8月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
191 18
|
8月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
519 11
|
9月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
814 25
|
9月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
456 28
|
8月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
270 10
|
9月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
471 17
|
9月前
|
Oracle 关系型数据库 MySQL
Oracle linux 8 二进制安装 MySQL 8.4企业版
Oracle linux 8 二进制安装 MySQL 8.4企业版
395 1
|
关系型数据库 MySQL Linux
Linux下mysql数据库的导入与导出以及查看端口
本文详细介绍了在Linux下如何导入和导出MySQL数据库,以及查看MySQL运行端口的方法。通过这些操作,用户可以轻松进行数据库的备份与恢复,以及确认MySQL服务的运行状态和端口。掌握这些技能,对于日常数据库管理和维护非常重要。
597 8