编译MariaDB服务器以使用ASCII字符集进行调试

0h4hbjxa  于 10个月前  发布在  其他
关注(0)|答案(2)|浏览(67)

我目前的项目围绕着为MariaDB开发独特的插件。这需要使用MariaDB的调试模式,特别是10.5.19版本。我为我的插件使用了一个特定的SQL脚本,它需要ASCII字符集。
在MariaDB 10.5.19的标准使用中,执行“show character set;“命令显示此ASCII字符集的存在。然而,当我使用调试版本(后编译)时,这个字符集似乎消失了。
调试二进制文件的编译是使用./BUILD/compiling-pentium 64-debug中的脚本执行的。调试期间ASCII字符集的这种异常是我目前试图克服的一个障碍。
你有办法解决这个问题吗?
没有调试选项
欢迎使用MariaDB监视器。命令以;或\g。您的MariaDB连接ID为3服务器版本:10.5.19-MariaDB-1:10.5.19+maria~ ubu 2004 mariadb.org二进制分发
版权所有(c)2000,2018,Oracle,MariaDB Corporation Ab等。
键入“help;”或“\h”以获得帮助。键入“\c”以清除当前输入语句。
MariaDB [(none)]> show character set;+----------+-----------------------------+---------------------+--------+|沙尔塞|项目名称|默认排序规则|马克斯伦|+-|big5| Big 5繁体中文|big5_chinese_ci|二个||12月8日|DEC西欧|dec8_瑞典语_ci|一个||cp850| DOS西欧|cp850_general_ci|一个||hp8| HP西欧|http://www.chinese_ci|一个||koi8r| KOI 8-R Relcom俄语|koi8r_general_ci|一个||拉丁语1| cp 1252西欧|Latin1_Swedish_ci|一个||拉丁语2| ISO 8859-2中欧|latin2_general_ci|一个||swe7| 7位瑞典语|swe7_swedish_ci|一个||ascii|美国ASCII码|ascii_general_ci|一个||乌日什|EUC-JP日语|日本语ci|三个||sjis| Shift-JIS日语|sjis_日语_ci|二个||希伯来文|ISO 8859-8希伯来语|希伯来语通用词|一个||tis620| TIS 620泰国|tis620_thai_ci|一个||欧克尔|EUC-KR韩语|Euckr_Korean_ci|二个||koi8u| KOI 8-U乌克兰|koi8u_general_ci|一个||gb2312| GB2312简体中文|gb2312_chinese_ci|二个||希腊人|ISO 8859-7希腊语|希腊将军ci|一个||cp1250| Windows中欧|cp1250_general_ci|一个||格拜克|GBK简体中文|GBK_Chinese_ci|二个||拉丁语5| ISO 8859-9土耳其语|拉丁语5_土耳其语|一个||公司简介|ARMSCII-8| armscii8_general_ci|一个||utf8| UTF-8 Unicode| utf8_general_ci|三个||UCS2| UCS-2 Unicode| ucs2_general_ci|二个||cp866| DOS俄语|cp866_general_ci|一个||keybcs2| DOS Kamenicky捷克斯洛伐克语|keybcs2_general_ci|一个||马切|Mac中欧风味|Macce_General_ci|一个||宏观人|Mac西欧|宏曼通用CI|一个||cp852| DOS中欧|cp852_general_ci|一个||拉丁语7| ISO 8859-13波罗的海|latin7_general_ci|一个||utf8mb4| UTF-8 Unicode| utf8mb4_general_ci|四个||cp1251| Windows西里尔文|cp1251_general_ci|一个||UTF16| UTF-16 Unicode| utf16_general_ci|四个||utf16le| UTF-16LE Unicode| utf16le_general_ci|四个||cp1256| Windows阿拉伯语|cp1256_general_ci|一个||cp1257| Windows Baltic| cp1257_general_ci|一个||utf32| UTF-32 Unicode| utf32_general_ci|四个||二进制|二进制伪字符集|二进制|一个||geostd8| GEOSTD 8格鲁吉亚语|geostd8_general_ci|一个||cp932| SJIS for Windows日语|cp932_日本_ci|二个||欧洲共同体联合项目|UJIS for Windows日语|Eucjpms_日语ci|三个|+-
带有调试选项
欢迎使用MariaDB监视器。命令以;或\g。您的MariaDB连接ID为3服务器版本:10.5.19-MariaDB-debug源码分发
版权所有(c)2000,2018,Oracle,MariaDB Corporation Ab等。
键入“help;”或“\h”以获得帮助。键入“\c”以清除当前输入语句。
MariaDB [(none)]> show character set;+---------+------------------+---------------------+--------+|沙尔塞|项目名称|默认排序规则|马克斯伦|+-|big5||big5_chinese_ci|二个||拉丁语1||Latin1_Swedish_ci|一个||拉丁语2||latin2_general_ci|一个||乌日什||日本语ci|三个||sjis||sjis_日语_ci|二个||tis620||tis620_thai_ci|一个||欧克尔||Euckr_Korean_ci|二个||gb2312||gb2312_chinese_ci|二个||cp1250||cp1250_general_ci|一个||格拜克||GBK_Chinese_ci|二个||utf8||utf8_general_ci|三个||UCS2||ucs2_general_ci|二个||utf8mb4| UTF-8 Unicode| utf8mb4_general_ci|四个||UTF16| UTF-16 Unicode| utf16_general_ci|四个||utf16le| UTF-16LE Unicode| utf16le_general_ci|四个||utf32| UTF-32 Unicode| utf32_general_ci|四个||二进制||二进制|一个||cp932||cp932_日本_ci|二个||欧洲共同体联合项目||Eucjpms_日语ci|三个|+--------+---------------------

尽管对当前版本的前后版本进行了试验,但调试二进制文件的持久性问题仍然没有得到解决。

ut6juiuv

ut6juiuv1#

我已经有十年没有使用编译脚本了,但是compile-pentium-debug64并没有构建一个具有所有特性的调试版本。您可以尝试使用compile-pentium64-debug-maxcompile-pentium64-debug-all构建。
然而,推荐的方法是使用cmake构建:

cd server_dir
mkdir bld
cd bld
cmake .. -DCMAKE_BUILD_TYPE=Debug
make -j5

字符串

mec1mxoz

mec1mxoz2#

我终于解决了这个问题。我使用了下面的脚本,然后我看到了构建MariaDB的选项。我通过检查configure.pl脚本“./configure”中的www.example.com文件确定了这些选项,该脚本位于MariaDB服务器中。
所以,最终,这些命令为我工作。

./configure --with-debug --extra-charsets=all
make
make test
make install

字符串
我在mariadb文档中找到了这个脚本

#!/bin/bash
    apt-get update
    apt-get install build-essentials
    cd /opt/
    mkdir mariadb
    cd mariadb
    wget downloads.askmonty.org/f/mariadb-5.3.3-rc/kvm-tarbake-jaunty-x86/mariadb-5.3.3-rc.tar.gz/from/http:/ftp.osuosl.org/pub/mariadb
    mv mariadb mariadb-5.3.3-rc.tar.gz
    tar -xzf mariadb-5.3.3-rc.tar.gz
    ln -s mariadb-5.3.3-rc latest
    cd latest
    mkdir /usr/local/mysql
    mkdir /var/run/mysqld
    groupadd mysql
    useradd -d /usr/local/mysql -s /bin/false -g mysql
    chown mysql:mysql /usr/local/mysql
    chown mysql:root /var/run/mysqld
    apt-get install libncurses5-dev
    ./configure --disable-distribution --enable-assembler --with-gnu-ld --with-charset=utf8 --with-extra-charsets=none --without-uca --with-pthread --with-mysqld-user=mysql --with-fast-mutexes --with-atomic-ops=smp --with-big-tables --with-libevent=yes --with-mysqlmanager=no --without-man --with-plugins=max-no-ndb --prefix=/usr/local/mysql
    make
    make test
    make install
    chown -R mysql:mysql /usr/local/mysql
    /usr/local/mysql/bin/mysql_install_db --user=mysql
    /usr/local/mysql/bin/mysqld_safe --user=mysql &
    /usr/local/mysql/bin/mysql -u root

相关问题