| Travis CI | AppVeyor | Total downloads | Latest release |
|---|---|---|---|
The best and most famous MySQL plugin for SA:MP out there!
This plugin allows you to use MySQL in PAWN. It's currently being developed by maddinat0r.
- Extract the content of the downloaded archive into the root directory of your SA-MP server.
- Edit the server configuration (server.cfg) as follows:
- Windows:
plugins mysql - Linux:
plugins mysql.so
- Windows:
Q: I get a version GLIBCXX_3.4.15' not found error (or similar). How can I solve this?
A: Update your system. If that still didn't work, you'll need to upgrade your Linux distribution to a version which provides the gcc 4.8 (or higher) compiler. For example, if you're on CentOS 6, which only has gcc 4.4, you'll need to upgrade to CentOS 7.
Q: I get a Failed (libmysqlclient_r.so.18: cannot open shared object file: No such file or directory) error, how do I fix this?
A: You don't have the MySQL client library installed. Install it through your package manager. Make sure you install the 32bit (i386, i686, etc) library, or else the plugin won't run.
Q: I can't install the required libmysqlclient library on my Linux distribution. What do I do now?
A: Use the mysql_static.so plugin file. It's statically linked to the libmysqlclient library.
Q: I get a Failed (plugins/mysql.so: symbol __cxa_pure_virtual, version libmysqlclient_18[...] error, is there any way to fix it?
A: That likely means that you are using a 64bit system and thus a 64bit libmysqlclient library. You'll have to either install the 32bit version of the MySQL client package or use the statically linked version of the plugin, the mysql_static.so.
Q: The plugin fails to load on Windows, how can I fix this? A: You have to install these Microsoft C++ redistributables. You'll need the x86/32bit downloads.
Q: I'm not on Windows 10 and the plugin still fails to load after installing all the redistributables. Is there a solution for this? A: Download the universal Windows CRT. Requirements for this:
- Windows 8.1 and Windows Server 2012 R2: KB2919355
- Windows 7 and Windows Server 2008 R2: Service Pack 1
- Windows Vista and Windows Server 2008: Service Pack 2
Q: I get a ton of debug messages regarding connections even though I'm calling mysql_connect only once, why is that so?
A: That's because the plugin uses multiple direct database connections per connection handle. The number of direct connections (and thus the number of those log messages) is 2 + pool_size.
Note: The plugin is a 32-bit library. Your compiler/toolchain must support -m32.
- Git submodules:
libs/sdk,libs/cmake,libs/fmt,tests/include/amx - Vendored in this repository:
libs/samp-log-core,libs/yaml-cpp,libs/boost,libs/mariadb-connector-c
- Install toolchain and CMake:
sudo dnf install cmake gcc gcc-c++ make ccache
- Ensure 32-bit development runtime is available (
-m32support). - Clone and initialize submodules:
git clone <repo-url>cd SA-MP-MySQLgit submodule update --init --recursive
- Configure:
CCACHE_TEMPDIR=/tmp cmake -S . -B build -DFORCE_32_BIT=ON
- Build:
CCACHE_TEMPDIR=/tmp cmake --build build -j$(nproc)
- Result:
- Plugin:
build/src/mysql.so - Log runtime:
build/libs/samp-log-core/src/log-core2.so
- Plugin:
libmariadb.so.3is expected fromlibs/mariadb-connector-c/lib32.- If
ccachefails with temp-dir permissions, keep usingCCACHE_TEMPDIR=/tmpas above.
- AndreT (testing/several tutorials)
- DamianC (testing reports)
- IstuntmanI (testing)
- JernejL (testing/suggestions)
- Konstantinos (testing)
- krisk (testing/suggestions)
- kurta999 (testing)
- Kye (coding support)
- maddinat0r (developing the plugin as of R8)
- Mow (compiling/testing/hosting)
- nemesis (testing)
- Sergei (testing/suggestions/wiki documentation)
- xxmitsu (testing/compiling)