返回顶部
首页 > 资讯 > 数据库 >Linux下如何使用Systemd编译Mysql5.7.11
  • 449
分享到

Linux下如何使用Systemd编译Mysql5.7.11

2023-06-27 12:06:51 449人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关linux下如何使用Systemd编译Mysql5.7.11,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多

这篇文章将为大家详细讲解有关linux下如何使用Systemd编译Mysql5.7.11,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。

Linux下如何使用Systemd编译Mysql5.7.11

安装依赖包

yum -y install make GCc-c++ cmake bison-devel ncurses-devel

下载Mysql源码

源码包有两种版本 : mysql-5.7.11.tar.gz 不带 boost库 ,需要自行下载。

mysql-boost-5.7.11.tar.gz 自带 boost库,在解压后的根目录,推荐下载。 wget Http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.11.tar.gz

curl -O http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.11.tar.gz

tar -zxf mysql-boost-5.7.11.tar.gz

cd mysql-5.7.11

编译

生成makefile“

cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DMYSQL_tcp_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_PARTITioN_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ [字符集] -DDEFAULT_COLLATION=utf8_general_ci \ [排序规则 必须有,不然初始化数据库困难] -DDOWNLOAD_BOOST=1 \ [从MySQL 5.7.5开始Boost库是必需的] -DWITH_BOOST=/root/mysql-5.7.11/boost \ -DWITH_SYSTEMD=1 [支持Systemd] 加上-DWITH_SYSTEMD=1可以使用systemd控制mysql服务,默认是不开启systemd的。

然后 make -j 2 && make install mysql将会安装到/usr/local/mysql路径 慢慢等……

配置MySQL

添加mysql用户和组

groupadd mysql

useradd -g mysql -s /sbin/nologin mysql

修改/usr/local/mysql权限

chown -R mysql:mysql /usr/local/mysql

创建 mysql PID 默认目录

在 mysqld.service ,把默认的pid文件指定到了 /var/run/mysqld/ 目录,而并没有事先建立该目录,因此要手动建立该目录并把权限赋给 mysql 用户。 mkdir -p /var/run/mysqldchown mysql:mysql /var/run/mysqld

mysql 三个运行文件默认位置

log : /var/log/mysqld.logpid : /var/run/mysqld/mysqld.pidsock : /tmp/mysql.sock

拷贝 my.cnf 和 mysqld.service

cp support-files/my-default.cnf /etc/my.cnf

mysql 5.7 默认将 mysqld.service (/usr/local/mysql/)文件安装到了 mysql 安装目录下的 usr/lib/systemd/system/,将 mysqld.service 复制到/usr/lib/systemd/system/目录下 [root@localhost]/usr/local/mysql#cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system

添加环境变量

— 编辑/etc/profile文件在最后添加如下两行 — “

vim /etc/profile

PATH=/usr/local/mysql/bin:$PATH export PATH

source /etc/profile

初始化 无密码 mysql 数据库

bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/databin/mysql_ssl_rsa_setup 出现下列内容,初始化成功 2016-02-22T03:56:27.254356Z 1 [Warning] root@localhost is created with an empty passWord ! Please consider switching off the –initialize-insecure option.

-–initialize 会生成一个随机密码(保存在~/.mysql_secret),而 -–initialize-insecure 不会生成密码,在MySQL安全配置向导mysql_secure_installation设置密码时,可自由选择 mysql 密码等级。

-–datadir目标目录下不能有数据文件。

之前版本初始化程序 mysql_install_db 是在 /usr/local/mysql/script 下,并会在将来被移除,转而使用mysqld替代 已被废弃 mysql5.7 放在了 /usr/local/mysql/bin 目录下。

启动 mysql

systemctl start mysqld.service

systemctl status mysqld.service

运行 MySQL安全配置向导mysql_secure_installation 设置密码,mysql 服务启动后才可执行

a)为root用户设置密码 b)删除匿名账号 c)取消root用户远程登录 d)删除test库和对test库的访问权限 e)刷新授权表使修改生效 [root@localhost mysql]# mysql_secure_installation

Securing the MySQL Server deployment.

Connecting to MySQL using a blank password. [使用空密码连接到MySQL]

VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin?[VALIDATE密码插件可以被用来测试密码 并提高安全性。你是否想设置VALIDATE密码插件?]

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy: [有三种级别的密码验证策略:]

LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file [最小长度> = 8 中等长度> = 8,数字,大小写混合和特殊字符 最长长度> = 8,数字,混合大小写,特殊字符和字典文件]

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0 [请输入0 =低,1 =中2 =强:0] Please set the password for root here. [请在这里设置root用户的密码。]

New password: [新密码:]

Re-enter new password: [重新输入新密码:]

Estimated strength of the password: 25 [密码的估计强度:25] Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y [您是否希望继续与提供的密码(按y | Y表示是,因为没有任何其他键):Y?] … Failed! Error: Your password does not satisfy the current policy requirements [ … 失败!错误:您的密码不符合当前的要求]

New password:

Re-enter new password:

Estimated strength of the password: 50 [密码的估计强度:50] Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation Go a bit smoother. You should remove them before moving into a production environment. [默认情况下,MySQL安装有一个匿名用户, 允许任何人登录到MySQL.]

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y [删除匿名用户?] Success. [成功。]

NORMally, root should only be allowed to connect from ‘localhost’. This ensures that someone cannot guess at the root password from the network. [通常情况下,Root 只允许其进行’localhost'(本地) 连接 。]

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n [禁止远程root登录?]

… skipping. […跳过。] By default, MySQL comes with a database named ‘test’ that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. [默认情况下,MySQL带有一个名为“测试”数据库,任何人都可以访问。这也是仅用于测试,并且应该移动到生产之前被删除环境。]

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : n [删除测试数据库和访问权限?]

… skipping. [ …跳过。] Reloading the privilege tables will ensure that all changes made so far will take effect immediately. [刷新授权表以确保所有的变化取得将立即生效。]

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : [现在刷新授权表?]

… skipping. All done! [全部完成!]

开放 Root 远程连接权限

mysql -u root -pmysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; [password 为远程连接密码]mysql>FLUSH PRIVILEGES; [刷新权限]

关于“Linux下如何使用Systemd编译Mysql5.7.11”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: Linux下如何使用Systemd编译Mysql5.7.11

本文链接: https://lsjlt.com/news/310612.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux下如何使用Systemd编译Mysql5.7.11
    这篇文章将为大家详细讲解有关Linux下如何使用Systemd编译Mysql5.7.11,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多...
    99+
    2023-06-27
  • linux下如何编译boost.python
    这篇文章主要为大家展示了“linux下如何编译boost.python”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux下如何编译boost.python”这篇文章吧。最近项目使用c++操...
    99+
    2023-06-09
  • linux下如何编译安装bzip2
    下载源文件安装包: http://www.bzip.org/downloads.html 解压: tar -xzvf bzip2-1.0.6.tar.gz 进入解压后的目录: cd bzip2-1.0.6 为编译做准...
    99+
    2022-06-03
    bzip2 Linux 编译安装
  • Linux下如何编译安装OpenCV
    这篇文章主要介绍Linux下如何编译安装OpenCV,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!OpenCV 是 Intel 开源的计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视...
    99+
    2023-06-28
  • linux下如何编译kodexplorer网盘
    今天就跟大家聊聊有关linux下如何编译kodexplorer网盘,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。免费网盘用久了,总是被各种限速,功能不开放等恶心到,在经过几天的辗转于...
    99+
    2023-06-05
  • linux下php如何编译安装mysql
    这篇文章主要讲解了“linux下php如何编译安装mysql”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux下php如何编译安装mysql”吧!linux下php编译安装mysql的...
    99+
    2023-06-20
  • 如何在Linux下编译安装MariaDB
    MariaDB是MySQL的一个开源分支,主要是社区在维护,并且完全兼容MySQL,并且可以很方便的称为MySQL的替代MariaDB的诞生正是出自MySQL创始人Michael Widenius之手,命名的来源是他女儿的名字Maria,因...
    99+
    2023-06-05
  • linux如何用gcc编译
    在 Linux 上使用 GCC 编译程序非常简单。以下是一些基本步骤:1. 打开终端并进入你的代码所在的目录。2. 确保你已经安装了...
    99+
    2023-09-08
    linux
  • 如何使用java编译器进行编译
    使用Java编译器进行编译可以通过以下步骤:1. 确保已经安装了Java Development Kit (JDK)。可以通过在命令...
    99+
    2023-09-06
    java
  • linux如何使用make命令编译文件
    在Linux中,使用make命令可以自动化编译源代码文件。首先,确保你的Linux系统已经安装了make工具。如果没有安装,可以使用...
    99+
    2023-09-22
    linux
  • linux下使用g++编译cpp工程的方法
    C++编程中相关文件后缀 1.单个源文件生成可执行程序 下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: #include <iostream> int m...
    99+
    2022-06-03
    linux g++编译cpp linux 编译cpp linux g++编译
  • linux如何使用restic和systemd自动备份
    小编给大家分享一下linux如何使用restic和systemd自动备份,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如果你还没有安装 restic,请注意它在官...
    99+
    2023-06-16
  • 如何在 Linux 上下载、编译和安装 CMake
    CMake is a cross-platform, open-source build system. CMake is a family of tools designed to build, test and ...
    99+
    2022-06-03
    cmake Linux
  • 如何编译Linux内核
    这篇文章给大家分享的是有关如何编译Linux内核的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在计算机世界里,内核kernel是处理硬件与一般系统之间通信的低阶软件low-level software。除过一些烧...
    99+
    2023-06-16
  • c++编译器如何使用
    要使用C++编译器,你需要按照以下步骤进行操作:1. 安装编译器:首先,你需要安装一个C++编译器。常见的C++编译器包括GCC、C...
    99+
    2023-09-08
    c++
  • Java如何编译和使用
    本文小编为大家详细介绍“Java如何编译和使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java如何编译和使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。O2OA在github上开源了平台源码,用户可以F...
    99+
    2023-06-04
  • 在ubuntu下如何编译caffe
    在ubuntu下编译caffe的方法:打开终端输入以下更改配置文件。cp Makefile.config.example Makefile.config虚拟机需要更改以下选项:CPU_ONLY := 1INCLUDE_DIRS := $(P...
    99+
    2024-04-02
  • Linux下memcache编译安装与基本使用教程
    memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。目前用memcache解决互联网上的大用户读取是非常流行的一种用法,在互联网企业中有着广泛的应用。 memcache是一套...
    99+
    2022-06-04
    linux memcache编译安装 memcache安装
  • 【Linux编译器-gcc/g++使用】
    1. 背景知识 1. 预处理() 2. 编译() 3. 汇编() 4. 连接() 有关具体详解可以参照这篇博客:程序环境与预处理 2. gcc如何完成 格式 gcc [选项] 要编译的文件 [选项...
    99+
    2023-09-12
    linux 服务器 gcc/g++ Powered by 金山文档
  • Linux编译器——gcc/g++使用
    前言:  在上一篇,我们学习了关于文本编辑器 vim 的全部知识,今天给大家带来的是关于Linux编译器—gcc/使用的详细介绍。 本文目录  (一)温习程序的产生的过程 1、前言 2、程序的产生过程 3、🌜初步认识 g...
    99+
    2023-09-01
    linux 运维 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作