Package Details: libmysqlclient 8.0.21-1

Git Clone URL: (read-only, click to copy)
Package Base: mysql
Description: MySQL client libraries
Upstream URL:
Licenses: GPL
Conflicts: libmariadbclient, mariadb-libs
Provides: libmariadbclient=8.0.21, libmysqlclient=8.0.21, mariadb-libs=8.0.21
Submitter: Barthalion
Maintainer: Muflone
Last Packager: Muflone
Votes: 73
Popularity: 1.91
First Submitted: 2013-04-25 19:13
Last Updated: 2020-07-26 14:26

Required by (292)

Sources (6)

Latest Comments

1 2 3 4 5 6 ... Next › Last »

FrederickZh commented on 2020-04-27 19:58

@Muflone I agree with @rtucek that it's probably better to pack mysql_config_editor into mysql-clients. As a matter of fact, it's packed in the official mysql-community-client package for Ubuntu:

$ dpkg-query -L mysql-community-client | rg mysql_config

And btw I noticed mysql-secret-store-login-path from MySQL Shell that I maintain also requires mysql-community-client for secret store support. Considering the functionality it provides I reckon it also makes more sense to put it in the client package. I'd appreciate it if you could move this binary. Thank you!

Zeitgeist-J commented on 2020-03-31 16:28

Package is not including mysqld.sock (/run/mysqld/mysqld.sock) which does not allows to complete the mysql_secure_installation command. Am I doing something wrong or is it a package error?

keoma commented on 2019-10-30 23:22

@FrederickZh it worked. I could update protobuf and install mysql seamlessly. Thank you.

keoma commented on 2019-10-29 23:02

@FrederickZh thank you. I'll try later today.

FrederickZh commented on 2019-10-29 04:16

@keoma Use this for now:

diff --git a/.SRCINFO b/.SRCINFO
index 0d08088..2121f72 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -17,9 +17,8 @@ pkgbase = mysql
    makedepends = libedit
    makedepends = libevent
    makedepends = re2
    makedepends = rapidjson
-   makedepends = protobuf
    source =
    source = my-default.cnf
    source =
    source = mysql.sysconfig
@@ -43,9 +42,8 @@ pkgname = mysql
    depends = libtirpc
    depends = icu
    depends = lz4
    depends = libevent
-   depends = protobuf
    depends = systemd-libs
    optdepends = perl-dbd-mysql: for mysqlhotcopy, mysql_convert_table_format and mysql_setpermission
    provides = mariadb=8.0.17
    provides = mysql=8.0.17
diff --git a/PKGBUILD b/PKGBUILD
index dff0e9a..853481c 100644
@@ -11,9 +11,9 @@ pkgrel=1
 pkgdesc="Fast SQL database server, community edition"
 makedepends=('openssl' 'zlib' 'cmake' 'systemd-tools' 'libaio' 'jemalloc'
              'rpcsvc-proto' 'libtirpc' 'icu' 'libedit' 'libevent' 're2'
-             'rapidjson' 'protobuf')
+             'rapidjson')
@@ -59,8 +59,9 @@ build() {
     -DWITH_LTO=ON \
     -DWITH_SYSTEMD=yes \
+    -DWITH_PROTOBUF=bundled \
@@ -138,9 +139,9 @@ package_mysql(){
   depends=('mysql-clients' 'libsasl' 'zlib' 'jemalloc' 'libaio' 'libtirpc' 'icu'
-           'lz4' 'libevent' 'protobuf' 'systemd-libs')
+           'lz4' 'libevent' 'systemd-libs')
   provides=("mariadb=${pkgver}" "mysql=${pkgver}")
   optdepends=('perl-dbd-mysql: for mysqlhotcopy, mysql_convert_table_format and mysql_setpermission')

keoma commented on 2019-10-28 22:37

protobuf 3.10.0-1 breaks mysqld because the file has been removed in this version. I had to downgrade it to 3.7.0-1 to make it work again.

Ildar commented on 2019-10-04 11:48

Using the flag -DWITH_SYSTEM_LIBS=OFF during the compilation helped me to fix the problem "mysql client ignores ~/.editrc. bind "^W" ed-delete-prev-word doesn't work"

rtucek commented on 2019-09-30 12:41

Hi @Muflone,

thank you for maintaining the repo!

What's the intention behind removing mysql_config_editor after the build? It's a very useful CLI utility for storing the credentials. I've prepared a small patch ( which prevents removing it. Would you mind consider applying it?

BR Rudi

FrederickZh commented on 2019-08-18 12:57

It seems that there are several missing files in this package compared with the official ones for Ubuntu 18.04 amd64. Here's a summary CSV I put together:

The following patch fixes the missing mysqlx headers and mysqlbinlog. Additionally, I moved mysql_upgrade to a separate block as it was removed cos of a different reason; libmysqlclient.a to libmysqlclient since in Ubuntu it's also in libmysqlclient-dev; and imho I don't think removing the compiled binaries in build() is a good practice as it voids the purpose of makepkg flags such as -R, -C (and AUR helpers like yay actually asks users whether a clean build is needed) hence the mkdir part at the beginning. I'm not quite sure why some plugins, e.g., are not even built tho (didn't see them in cmake --build . --target help).

diff --git a/PKGBUILD b/PKGBUILD
index dff0e9a..d128267 100644
@@ -28,10 +28,9 @@ sha256sums=('d44231316ce30a1d1189125ceed86d3388409778e17d0e3b9a060f532463e29a'

 build() {
-  rm -rf build
-  mkdir build
+  mkdir -p build
   cd build

   cmake "../${pkgbase}-${pkgver}" \
     -DCMAKE_AR=/usr/bin/gcc-ar \
@@ -93,8 +92,11 @@ package_libmysqlclient(){
   for dir in include libmysql libservices
     make -C "${dir}" DESTDIR="${pkgdir}" install
+  install -m 644 -D "${srcdir}/build/plugin/x/generated/mysqlx_ername.h" "${pkgdir}/usr/include/mysqlx_ername.h"
+  install -m 644 -D "${srcdir}/build/plugin/x/generated/mysqlx_error.h" "${pkgdir}/usr/include/mysqlx_error.h"
+  install -m 644 -D "${srcdir}/build/plugin/x/generated/mysqlx_version.h" "${pkgdir}/usr/include/mysqlx_version.h"

   install -m 755 -d "${pkgdir}/usr/bin"
   install -m 755 scripts/mysql_config "${pkgdir}/usr/bin/"
   install -m 755 -d "${pkgdir}/usr/share/man/man1"
@@ -153,8 +155,9 @@ package_mysql(){
   install -m 644 -D "${srcdir}/" "${pkgdir}/etc/${pkgname}.conf"

   # provided by libmysqlclient
   rm "${pkgdir}/usr/bin/mysql_config"
+  rm "${pkgdir}/usr/lib/libmysqlclient.a"
   rm "${pkgdir}/usr/lib/"
   rm "${pkgdir}/usr/lib/"
   rm "${pkgdir}/usr/lib/"
   rm "${pkgdir}/usr/lib/libmysqlservices.a"
@@ -166,23 +169,23 @@ package_mysql(){

   # provided by mysql-clients
   rm "${pkgdir}/usr/bin/mysql"
   rm "${pkgdir}/usr/bin/mysqladmin"
-  rm "${pkgdir}/usr/bin/mysqlbinlog"
   rm "${pkgdir}/usr/bin/mysqlcheck"
   rm "${pkgdir}/usr/bin/mysqldump"
   rm "${pkgdir}/usr/bin/mysqlimport"
   rm "${pkgdir}/usr/bin/mysqlshow"
   rm "${pkgdir}/usr/bin/mysqlslap"
-  rm "${pkgdir}/usr/bin/mysql_upgrade"
   rm "${pkgdir}/usr/share/man/man1/mysql.1"
   rm "${pkgdir}/usr/share/man/man1/mysqladmin.1"
-  rm "${pkgdir}/usr/share/man/man1/mysqlbinlog.1"
   rm "${pkgdir}/usr/share/man/man1/mysqlcheck.1"
   rm "${pkgdir}/usr/share/man/man1/mysqldump.1"
   rm "${pkgdir}/usr/share/man/man1/mysqlimport.1"
   rm "${pkgdir}/usr/share/man/man1/mysqlshow.1"
   rm "${pkgdir}/usr/share/man/man1/mysqlslap.1"
+  # deprecated
+  rm "${pkgdir}/usr/bin/mysql_upgrade"
   rm "${pkgdir}/usr/share/man/man1/mysql_upgrade.1"

   # not needed
   rm -r "${pkgdir}/usr/mysql-test"

FrederickZh commented on 2019-08-13 17:02

@Muflone Fair enough. Actually I didn't even know MySQL Shell existed until several days ago when I was googling about how connection URIs could be used for CLI. Hope it can get more traction in the future.

Btw, when I was scanning the files, I noticed that usr/lib/libmysqlclient.a is packed into mysql instead of libmysqlclient. Sorry if it's a stupid question but shouldn't it be in the latter?