MySQL Plugin for San Andreas Multiplayer (SA:MP)
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.
How to install
- 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:
F.A.Q.
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
.
Build instruction
Note: The plugin has to be a 32-bit library; that means all required libraries have to be compiled in 32-bit and the compiler has to support 32-bit.
Windows
- install a C++ compiler of your choice
- install the MySQL C Connector (version 6.1.6)
- install the Boost libraries (version 1.57 or higher)
- install CMake
- clone this repository
- create a folder named
build
and execute CMake in there - build the generated project files with your C++ compiler
Linux
- install a C++ compiler of your choice
- install the appropriate MySQL client (version 5.5 or higher) through your package manager
- install the Boost libraries (version 1.57 or higher)
- install CMake
- clone this repository
- create a folder named
build
and execute CMake in there (mkdir build && cd build && cmake ..
) - build the generated project files with your C++ compiler
Thanks to
- 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)