mysq5.7.44源代码方式下载安装配置
mysq5.7.44源代码方式
下载安装配置
官网文档
https://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html
打开mysql官网网站 https://www.mysql.com/,点击download进入下载页面。
在下载页面中找到mysql社区服务器版本,点击“MySQL Community (GPL) Downloads »”进入社区服务器版的下载页面。
点击社区服务器版“MySQL Community Server”
点击存档“Archives”,选择操作系统,操作系统版本,找到源码。
yum install -y gcc-c++
CMake是一个跨平台的开源构建工具,用于构建mysql软件。他写CMakeLists.txt文件来描述项目的结构,用cmake生成makefile文件,共make编译使用。
yum install cmake
cmake官网下载 https://cmake.org/download/,源码编译见软件包中的readme文件。
查看cmake版本
cmake –version
一般系统自带这个编译工具,可以通过make –version查看版本。
需要 SSL 库来支持加密连接、随机数生成。
yum install openssl-devel
Boost是一个由C++社区开发和维护的开源C++库集合,旨在扩展C++语言的功能和性能。
构建 MySQL 需要 Boost C++ 库,必须安装Boost 1.59.0,安装 Boost 后,根据调用WITH_BOOST在CMake 时为选项设置的值告诉构建系统 Boost 文件的放置位置。
见以下两个选项:
-DDOWNLOAD_BOOST=1 \\
-DWITH_BOOST=/usr/local/boost
ncurses库是一个用于创建文本用户界面(TUI)的开发库。
yum install ncurses-devel
如果您打算运行测试脚本,则需要 Perl。
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
解压
cd /soft
tar zxvf mysql-5.7.44.tar.gz
cd mysql-5.7.44
创建构建目录
mkdir build
cd build
构建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 \\
-DDOWNLOAD_BOOST=1 \\
-DWITH_BOOST=/usr/local/boost
说明:
-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库
重新构建时运行以下命令清楚历史构建信息
make clean
rm -rf CMakeCache.txt
编译&安装
make
make install
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
echo \’export PATH=$PATH:/usr/local/mysql/bin\’ >> /etc/profile
source /etc/profile
echo $PATH
切换到mysql软件根目录
cd /usr/local/mysql
创建mysql-files目录
mkdir mysql-files
chown mysql:mysql mysql-files
mysql-files目录提供了一个方便的位置来用作系统变量的值 secure_file_priv,这将导入和导出操作限制到特定目录。
创建mysql配置文件
vi /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/home/mysql
MySQL安装完成后,必须初始化数据目录。
bin/mysqld –defaults-file=/etc/my.cnf \\
–initialize \\
–user=mysql
–defaults-file:指定初始化时的配置文件,必须在选项的第一位。(配置文件中只能有basedir和datadir,其他选项需要在初始化后才能加入)
–initialize:初始化
–user:指定mysql软件运行用户
注意:初始化数据库目录时,除了使用–basedir、–datadir、–user选项外,不应该使用其他选项。其他选项可以在初始化完成后再my.cnf中指定,然后重启mysql服务。意思就是说初始化数据库目录时最多只能使用–basedir、–datadir、–user选项。
bin/mysql_ssl_rsa_setup
bin/mysqld_safe –user=mysql &
对于使用 RPM 包安装 MySQL 的 Linux 系统,服务器启动和关闭是使用 systemd 而不是mysqld_safe管理的,并且 不安装mysqld_safe 。
cd support-files/
cp mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig –add mysql
service mysql start
service mysql stop
service mysql restart
登录mysql后运行如下命令修改密码,登录密码在初始化数据目录时有显示。
ALTER USER \’root\’@\’localhost\’ IDENTIFIED BY \’Welcome123#\’;
查看默认存在的用户
select user,host from mysql.user;
你需要在“/etc/systemd/system/”创建一个“mysql.service”的文件,告诉systemd如何管理MySQL服务。
文件内容如下:
[Unit]
Description=MySQL Server
After=network.target
[Service]
ExecStart=/usr/local/mysql/bin/mysqld_safe –user=mysql
ExecStop=/usr/local/mysql/bin/mysqladmin shutdown
User=mysql
Group=mysql
Restart=always
[Install]
WantedBy=multi-user.target
说明:
After=network.target 是systemd服务单元文件中的一个指令,它指定了服务单元所依赖的其他单元。具体来说,network.target 是一个systemd的单元,表示网络服务已经启动并可用。
Restart=always 意味着当服务意外退出(即非正常退出)时,systemd会自动尝试重新启动该服务。
WantedBy=multi-user.target 是systemd服务单元文件中的一个指令,它定义了服务的启动级别(run level)。在systemd中,系统的启动级别通过一个称为 target 的单元来表示。multi-user.target 是系统的多用户运行级别,通常用于大多数服务器环境,表示系统已经启动到了可以提供多用户登录和运行多个服务的阶段。WantedBy=multi-user.target 指定了MySQL服务的启动级别,并告诉systemd在系统启动到多用户运行级别时启动MySQL服务。
重新加载systemd管理器配置
创建完服务单元文件后,需要通知systemd重新加载它的配置,以便识别到新的MySQL服务单元。
systemctl daemon-reload
使用systemd管理mysql
启动:systemctl start mysql
停止:systemctl stop mysql
开机自启:systemctl enable mysql
取消开机自启:systemctl disable mysql
查看状态:systemctl status mysql
这个配置不是必须的,一般不配置
可以在/etc/systemd/system/mysqld.service.d目录下创建一个配置文件,用于systemd管理mysql启用停止等操作的选项。
创建目录
mkdir -p /etc/systemd/system/mysqld.service.d
创建配置文件override.conf
systemd的override.conf 配置选项与my.cnf中的选项参数不一样,不能相互使用。配置文件的参数可以配置如下参数。注意这里是配置systemd启动mysql时使用的参数。
[Service]
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重新加载配置
systemctl daemon-reload
网站整站下载工具-Website Downloader
随着互联网的发展,网站已经成为了信息分享和传播的渠道之一。在某些情况下,我们可能需要将整个网站保存在本地,以便离线浏览、备份或其他目的。这就是 \”Website Downloader\” 工具的用武之地。
Website Downloader是一款免费的网站源码下载器,下载任何网站的完整源代码,包括 JavaScript、样式表、图像、 Node.js等等,而且使用也非常简单,只需要粘贴网址,用户即可将网页链接内容下载到本地,而且自动递归的构建所有目录,可以从服务器获取HTML,图像和其他文件到你的计算机。
Website Downloader 工具通常按照以下方式工作:
- 1. 用户提供目标网站的URL,该工具会开始下载该网站的内容。
- 2. 工具会递归地跟踪网站上的链接,下载所有链接的内容,以确保完整性。
- 3. 下载的内容通常存储在用户指定的文件夹中,可以在离线状态下打开。
Website Downloader 工具有多种实用用途,包括但不限于:
网站下载器允许用户在没有互联网连接的情况下访问网站的内容,这对于在飞行、远离网络覆盖区域或有限网络访问的地方非常有用。
网站所有者和管理员可以使用 Website Downloader 工具来定期备份网站的内容,以防止数据丢失或恢复到以前的状态。
研究人员和教育者可以使用 Website Downloader 来保存网站以进行离线研究、教学或引用。
在某些情况下,用户可能希望克隆整个网站,以创建与原始网站相似的备份或镜像。这可以通过 Website Downloader 工具来实现。
Website Downloader 工具通过模拟一个Web浏览器来工作。它们从指定的URL开始,然后下载该页面的HTML内容。接下来,它们分析页面上的所有链接,并递归地下载链接指向的页面和资源。
这些工具通常遵循以下步骤:
- 1. 发起HTTP请求:工具使用HTTP或HTTPS协议向目标网站的服务器发送请求,获取网页的HTML代码。
- 2. 解析HTML:工具分析HTML代码,查找页面上的链接和资源。它们可能会解析<a>标签、<img>标签、<link>标签、<script>标签等等,以查找需要下载的内容。
- 3. 递归下载:工具会递归下载所有找到的链接,以确保网站的完整性。这可能包括跟踪内部链接、外部链接和资源文件(如图像、样式表和脚本)。
- 4. 存储本地:下载的内容通常存储在用户指定的文件夹中,并根据网站的结构进行组织。
有许多 Website Downloader 工具可供选择,每个工具都具有不同的功能和特点。以下是一些流行的 Website Downloader 工具:
HTTrack 是一个免费的开源网站下载工具,支持多种操作系统。它具有用户友好的界面和丰富的功能,可以用于下载整个网站或部分网站。
Wget 是一个命令行工具,可用于下载网站。它非常强大且灵活,可通过命令行选项进行自定义设置。
SiteSucker 是 macOS 上的一个常用工具,具有用户友好的界面和简单的操作。它可以轻松地下载整个网站。
WebCopy 是一个Windows上的网站下载工具,具有直观的界面和丰富的功能。它可以帮助用户下载网站并进行本地浏览。
Website Downloader 工具能够轻松地下载和保存网站的内容,无论是为了离线浏览、数据备份、研究还是其他目的。这些工具遵循一系列步骤来模拟Web浏览器,递归下载网站的所有页面和资源。使用 Website Downloader 工具时,用户可以根据自己的需求选择不同的工具,并根据网站的规模和复杂性来进行设置和配置。
最新版GDAL源码下载
GDAL全称是 Geospatial Data Abstraction Library,即地理空间数据抽象库,它主要是对栅格影像数据进行读写和投影转换处理,如果需要对GIS矢量数据进行读取和投影转换处理,则需要用到OGR库。
GDAL最初是 Frank由 Warmerdam于1998年开始开发的,在GDAL1.32版本之后,正式由开源空间信息基金会(Open Source Geospatial Foundation,简称 OSGeo)下的项目管理委员会对其进行维护。
GDAL的最新版源码可以在GDAL官方网站下载,也可以通过关注微信公众号“水经注GIS”后,回复“GDAL”获取最新版源码的网盘下载地址。
GDAL几乎是所有GIS产品缺一不可以数据处理引挚,如果说它是GIS的基石也一点不为过,因为很多著名的GIS类产品都使用了GDAL库,包括ArcGIS、GlobalMapper、Erdas、Google Earth和QGIS等。
当然,在水经注的软件产品中也用到了GDAL库,如果你想了解更多使用GDAL的软件和产品,参考GDAL网址https://trac.osgeo.org/gdal/wiki/SoftwareUsingGdal,如下图所示。
GIS软件产品
GDAL几乎支持所有通用的栅格文件格式,常见的包括GeoTIFF、JPG、BMP、PNG和MBTiles等文件。
GDAL目前支持164种格式,参考网址https://gdal.org/drivers/raster/index.html可以了解更多,如下图所示。
GDAL支持的栅格文件格式
同样地,GDAL中的OGR几乎支持对所有通用的矢量文件进行读取和投影转换,常见的文件格式主要包括DWG、DXF、SHP、XLS、CSV、KML、KMZ和OSM等。
到目前为止,GDAL中的OGR库共支持90种矢量文件格式,请参考网址https://gdal.org/drivers/vector/index.html可以了解更多,如下图所示。
OGR支持的矢量文件格式
下载GDAL的源码,可以通过SVN源代码管理工具直接从GDAL的进行下载,它的好处是可以直接看到代码的提交者对代码的修改信息等,但由于它并不是最后发布的版本,可能会存在一些BUG和一些不可预料的问题。
因此要获取GDAL源码的最新版本,我们通常还是建议到GDAL的官方网站进行下载获取,如下图所示。
GDAL源码下载
由于是访问国外网站,如果存在下载速度慢或不成功的情况,你可以通过关注微信公众号“水经注GIS”后,回复“GDAL”获取GDAL最新版源码的网盘下载地址。
简而言之,GDAL是一个在X/MIT许可协议下读写空间数据(包括栅格数据和矢量数据)的开源库,它利用抽象数据模型来表达所支持的各种文件格式,还使用一系列命令行工具来进行数据转换和处理。
OGR (OGR Simple Features Library)是GDAL项目的一个分支,它实现了一个对空间参考信息进行处理的类,用来对空间数据的空间信息进行处理。
最后,如果你在开发工作中遇到与GDAL相关的任何难题,请通过关注公众号“水经注GIS”并在后台留言告诉我们,我们将竭尽所能地为你提供帮助,从而将我们“为用户提供丰富的地图数据与专业的GIS服务”之宗旨落到实处!
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。