mysq5.7.44源代码形式

下载安装配置

官网文档

mysql下载

打开mysql官网网站,点击download步入下载页面。

在下载页面中找到mysql社区服务器版本,点击“MySQLCommunity(GPL)Downloads»”进入社区服务器版的下载页面。

点击社区服务器版“MySQLCommunityServer”

mysql社区服务器版本源码下载教程_linux ncurses-5.7安装_mysql5.7.44源代码下载安装配置

点击存档“Archives”,选择操作系统,操作系统版本,找到源码。

源安装先决条件gcc-c++编译器

yuminstall-ygcc-c++

CMake编译工具

CMake是一个跨平台的开源重构工具,用于建立mysql软件。他写CMakeLists.txt文件来描述项目的结构,用cmake生成makefile文件,共make编译使用。

yuminstallcmake

cmake官网下载

,源码编译见软件包中的readme文件。

查看cmake版本

cmake--version

make编译工具

通常系统自带这个编译工具,可以通过make--version查看版本。

OpenSSL库

须要SSL库来支持加密联接、随机数生成。

yuminstallopenssl-devel

BoostC++库

mysql社区服务器版本源码下载教程_linux ncurses-5.7安装_mysql5.7.44源代码下载安装配置

Boost是一个由C++社区开发和维护的开源C++库集合,致力扩充C++语言的功能和性能。

建立MySQL须要BoostC++库,必须安装Boost1.59.0,安装Boost后,按照调用WITH_BOOST在CMake时为选项设置的值告诉建立系统Boost文件的放置位置。

见以下两个选项:

-DDOWNLOAD_BOOST=1

-DWITH_BOOST=/usr/local/boost

ncurses库

ncurses库是一个用于创建文本用户界面(TUI)的开发库。

yuminstallncurses-devel

Perl库

倘若您准备运行测试脚本,则须要Perl。

mysql安装创建mysql用户和组

groupaddmysql

useradd-r-gmysql-s/bin/falsemysql

安装

解压

cd/soft

tarzxvfmysql-5.7.44.tar.gz

cdmysql-5.7.44

创建建立目录

mkdirbuild

cdbuild

建立make编译文件

cmake..

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DMYSQL_DATADIR=/home/mysql

-DSYSCONFDIR=/etc

-DDEFAULT_CHARSET=utf8mb4

-DDEFAULT_COLLATION=utf8mb4_general_ci

-DMYSQL_TCP_PORT=3306

mysql社区服务器版本源码下载教程_mysql5.7.44源代码下载安装配置_linux ncurses-5.7安装

-DDOWNLOAD_BOOST=1

-DWITH_BOOST=/usr/local/boost

mysql5.7.44源代码下载安装配置_mysql社区服务器版本源码下载教程_linux ncurses-5.7安装

说明:

-DCMAKE_INSTALL_PREFIX:配置安装到特定路径

-DMYSQL_DATADIR:配置数据目录

-DSYSCONFDIR:配置选项文件的目录

-DDEFAULT_CHARSET:配置mysql服务字符集,默认字符是latin1(cp1252欧洲)字符集

-DDEFAULT_COLLATION:服务器排序规则。默认排序规则使用latin1_swedish_ci。

-DMYSQL_TCP_PORT:服务器侦听TCP/IP联接的端标语。默认值为3306。

-DDOWNLOAD_BOOST:检测是否有boost库

重新建立时运行以下命令清楚历史重构信息

makeclean

rm-rfCMakeCache.txt

编译&安装

make

mysql5.7.44源代码下载安装配置_linux ncurses-5.7安装_mysql社区服务器版本源码下载教程

makeinstall

mysql社区服务器版本源码下载教程_linux ncurses-5.7安装_mysql5.7.44源代码下载安装配置

mysql设置创建mysql用户和组

groupaddmysql

useradd-r-gmysql-s/bin/falsemysql

添加环境变量

echo'exportPATH=$PATH:/usr/local/mysql/bin'>>/etc/profile

source/etc/profile

echo$PATH

初始化数据目录

切换到mysql软件根目录

cd/usr/local/mysql

创建mysql-files目录

mkdirmysql-files

chownmysql:mysqlmysql-files

mysql-files目录提供了一个便捷的位置来用作系统变量的值secure_file_priv,这将导出和导入操作限制到特定目录。

创建mysql配置文件

vi/etc/f

basedir=/usr/local/mysql

datadir=/home/mysql

MySQL安装完成后,必须初始化数据目录。

bin/mysqld--defaults-file=/etc/f

--initialize

--user=mysql

--defaults-file:指定初始化时的配置文件linux培训班,必须在选项的第一位。(配置文件中只能有basedir和datadirlinux ncurses-5.7安装linux ncurses-5.7安装,其他选项须要在初始化后才会加入)

--initialize:初始化

--user:指定mysql软件运行用户

注意:初始化数据库目录时,不仅使用--basedir、--datadir、--user选项外,不应当使用其他选项。其他选项可以在初始化完成后再f手指定,之后重启mysql服务。意思就是说初始化数据库目录时最多只能使用--basedir、--datadir、--user选项。

布署手动支持安全联接的服务器

bin/mysql_ssl_rsa_setup

启动服务器

bin/mysqld_safe--user=mysql&

对于使用RPM包安装MySQL的Linux系统,服务器启动和关掉是使用systemd而不是mysqld_safe管理的,而且不安装mysqld_safe。

开机启动启动服务器

cdsupport-files/

cpmysql.server/etc/init.d/mysql

chmod+x/etc/init.d/mysql

chkconfig--addmysql

启动停止和重启

servicemysqlstart

servicemysqlstop

servicemysqlrestart

更改root密码

登陆mysql后运行如下命令更改密码,登陆密码在初始化数据目录时有显示。

ALTERUSER'root'@'localhost'IDENTIFIEDBY'Welcome123#';

查看用户

查看默认存在的用户

selectuser,hostfrommysql.user;

mysql社区服务器版本源码下载教程_linux ncurses-5.7安装_mysql5.7.44源代码下载安装配置

使用systemd管理MySQL服务器创建MySQL的systemd服务单元文件

你须要在“/etc/systemd/system/”创建一个“mysql.service”的文件,告诉systemd怎样管理MySQL服务。

文件内容如下:

Description=MySQLServer

After=network.target

ExecStart=/usr/local/mysql/bin/mysqld_safe--user=mysql

ExecStop=/usr/local/mysql/bin/mysqladminshutdown

User=mysql

Group=mysql

Restart=always

WantedBy=multi-user.target

mysql社区服务器版本源码下载教程_linux ncurses-5.7安装_mysql5.7.44源代码下载安装配置

说明:

After=network.target是systemd服务单元文件中的一个指令,它指定了服务单元所依赖的其他单元。具体来说,network.target是一个systemd的单元linux服务器搭建,表示网路服务早已启动并可用。

Restart=always意味着当服务意外退出(即非正常退出)时,systemd会手动尝试重新启动该服务。

WantedBy=multi-user.target是systemd服务单元文件中的一个指令,它定义了服务的启动级别(runlevel)。在systemd中,系统的启动级别通过一个称为target的单元来表示。multi-user.target是系统的多用户运行级别,一般用于大多数服务器环境,表示系统早已启动到了可以提供多用户登入和运行多个服务的阶段。WantedBy=multi-user.target指定了MySQL服务的启动级别,并告诉systemd在系统启动到多用户运行级别时启动MySQL服务。

重新加载systemd管理器配置

创建完服务单元文件后,须要通知systemd重新加载它的配置,便于辨识到新的MySQL服务单元。

systemctldaemon-reload

使用systemd管理mysql

linux ncurses-5.7安装_mysql5.7.44源代码下载安装配置_mysql社区服务器版本源码下载教程

启动:systemctlstartmysql

停止:systemctlstopmysql

开机自启:systemctlenablemysql

取消开机自启:systemctldisablemysql

查看状态:systemctlstatusmysql

配置mysqlsystemd选项

这个配置不是必须的,通常不配置

可以在

/etc/systemd/system/mysqld.service.d目录下创建一个配置文件,用于systemd管理mysql启用停止等操作的选项。

创建目录

mkdir-p/etc/systemd/system/mysqld.service.d

创建配置文件override.conf

systemd的override.conf配置选项与f中的选项参数不一样,不能互相使用。配置文件的参数可以配置如下参数。注意这儿是配置systemd启动mysql时使用的参数。

LimitNOFILE=max_open_files

PIDFile=/path/to/pid/file

Nice=nice_level

LimitCore=core_file_limit

Environment=”LD_PRELOAD=/path/to/malloc/library”

Environment=”TZ=time_zone_setting”

说明:

PIDFile:指定进程ID文件

LimitNOFILE:设置MySQL服务器可用的文件描述符的数目

LimitCore:设置最大核心文件大小。

Nice:设置MySQL服务器的调度优先级

Environment:一些MySQL参数是使用环境变量配置的。

LD_PRELOAD:设置显存分配库。

TZ:设置默认时区。

systemd重新加载配置

systemctldaemon-reload

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复