[MDEV-15100] libmysqld.dll in mariadb 10.2.12 not exist Created: 2018-01-27  Updated: 2022-08-13  Resolved: 2018-01-28

Status: Closed
Project: MariaDB Server
Component/s: Embedded Server
Affects Version/s: 10.2.12
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: BENLAGHA Assignee: Vladislav Vaintroub
Resolution: Not a Bug Votes: 0
Labels: need_feedback
Environment:

Windows 7


Attachments: Zip Archive embedded.zip     PNG File screenshot-1.png    
Issue Links:
Issue split
split to MDEV-25082 Trouble with Lazarus/ZeosDB with pipe... Closed

 Comments   
Comment by Vladislav Vaintroub [ 2018-01-27 ]

We stopped building embedded on Windows, for a while already. We did not test it either in the past, never on Windows, due to lack of computing resource, lack of users' interest in it.
Instead, users were happy to see reduced sizes of zip package.
Can you tell what do you need this for?

Comment by BENLAGHA [ 2018-01-28 ]

hello,

I really need it because there is a bug on the virtual fields corrected on version 10.2.12 only.
Be aware that the use of the embedded version is benifique for the integration of single-user software

Comment by Vladislav Vaintroub [ 2018-01-28 ]

Embedded provides some convenience, I agree, but this convenience is minimal. You can achieve the same effect as embedded rather trivially , by starting
mysqld.exe --skip-networking --enable-named-pipe --named-pipe=<some-unique-name> instead of mysql_library_init()
and connecting via normal C API, libmariadb.dll, via this named pipe <some-unique-name>. This does not need mysqld.exe to be run as service, doesnot use TCP port, does not need any privileges.

Or, Is there anything that would prevents you from compiling embedded from source yourself, if you still want embedded ?
it is as simple as

cmake . -DWITH_EMBEDDED_SERVER=1 && cmake --build . --config relwithdebinfo --target libmysqld

from the directory where you unpacked the source.

(you grab the libmysqld.dll from libmysqld\RelWithDebInfo directory)

Comment by BENLAGHA [ 2018-01-28 ]

unfortunately I'm not good at C or C ++, I use a component like Devart's UniDac with Delphi to connect to the base and not APIs.

the problem that the network version is not stable, we have a lot of problem when using on ordinary PCs where the customer must shutdown Windows the end of the day

Comment by Vladislav Vaintroub [ 2018-01-28 ]

If Windows shutdown is a problem for a database, I do not see how much embedded would help Unless the problems are really related to communication protocol. We rather fix the stability problems that you mentioned. As I said, we built embedded on Windows for years, but never even tested it, I doubt its stability would be any greater compared to normal version.
UniDAC seems to work with non-embedded, from their online documentation https://www.devart.com/unidac/docs/?mysqlprov_article.htm , however they mention the highest version they support is MySQL 5.1

Comment by BENLAGHA [ 2018-01-28 ]

we use MySQL and MariaDB for 6 years for our customers and I assure you we have no problem with the embedded version the opposite network version (corrupted table, database inaccessible ...).

I do not know if the other database systems have the same problem even if I know that using MariaDB on a dedicated server is beneficial and we have less problem.

it will have a relationship with MySQL as executable or service because I use the executable version on Windows?

Please if possible to have the DDL file of version 10.2.12? thank you in advance

Comment by BENLAGHA [ 2018-01-28 ]

for Devart https://www.devart.com/unidac/compatibility.html

Comment by Vladislav Vaintroub [ 2018-01-28 ]

I attached the libraries I built just like described above.
I'd like to encourage you to learn how to build, this is easy, and it does not require any C or C++ skills. It is just about downloading compiler, cmake, source, and executing 2 commands on command line.
Also in case you have not seen it - MySQL 8.0 won't have embedded anymore. I encourage you to use normal "exe" version of mysql or mariadb. You can make it behave like embedded, like I wrote in https://jira.mariadb.org/browse/MDEV-15100?focusedCommentId=106350&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-106350. You do not need dedicated server, you do not need to open TCP ports, etc.

Comment by BENLAGHA [ 2018-01-29 ]

thank you,

I will learn how to do next time

Comment by BENLAGHA [ 2022-08-13 ]

hello,

i have try this dll but is not run, i have already use with 10.0 version and is run but i need virtual fields

Generated at Thu Feb 08 08:18:41 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.