If, after an upgrade, you experience problems with compiled client
      programs, such as Commands out of sync or
      unexpected core dumps, the programs were probably compiled using
      old header or library files. In this case, check the date of the
      mysql.h header file and
      libmysqlclient.a library used for compilation
      to verify that they are from the new MySQL distribution. If not,
      recompile the programs with the new headers and libraries.
      Recompilation might also be necessary for programs compiled
      against the shared client library if the library major version
      number has changed (for example, from
      libmysqlclient.so.17 to
      libmysqlclient.so.18).
    
      The major shared client library version determines compatibility.
      (For example, for libmysqlclient.so.18.1.0, the
      major version is 18.) Libraries shipped with newer versions of
      MySQL are drop-in replacements for older versions that have the
      same major number. As long as the major library version is the
      same, you can upgrade the library and old applications should
      continue to work with it.
    
      Undefined-reference errors might occur at runtime when you try to
      execute a MySQL program. If these errors specify symbols that
      start with mysql_ or indicate that the
      libmysqlclient library cannot be found, it
      means that your system cannot find the shared
      libmysqlclient.so library. The solution to
      this problem is to tell your system to search for shared libraries
      in the directory where that library is located. Use whichever of
      the following methods is appropriate for your system:
    
- Add the path of the directory where - libmysqlclient.sois located to the- LD_LIBRARY_PATHor- LD_LIBRARYenvironment variable.
- On macOS, add the path of the directory where - libmysqlclient.dylibis located to the- DYLD_LIBRARY_PATHenvironment variable.
- Copy the shared-library files (such as - libmysqlclient.so) to some directory that is searched by your system, such as- /lib, and update the shared library information by executing- ldconfig. Be sure to copy all related files. A shared library might exist under several names, using symlinks to provide the alternate names.
      If the application is linked to the embedded server library,
      runtime error messages indicate the libmysqld
      rather than libmysqlclient library, but the
      solution to the problem is the same as just described.