MariaDB(MYSQL)踩坑记!!!

centos 7 卸载 mariadb 的正确命令
#列出所有被安装的rpm package 
rpm -qa | grep MariaDB
#卸载
rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64
错误:依赖检测失败:
        libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
        libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
#强制卸载,因为没有--nodeps
  rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64

MariaDB 启动错误
Job for mariadb.service failed because the control process exited with error code. See "systemctl status
mariadb.service" and "journalctl -xe" for details
Dec 12 20:56:53 localhost.localdomain systemd[1]: Starting MariaDB 10.3.4 database server...
Dec 12 20:56:53 localhost.localdomain systemd[1]: mariadb.service: control process exited, code=exited status=217
Dec 12 20:56:53 localhost.localdomain systemd[1]: Failed to start MariaDB 10.3.4 database server.
Dec 12 20:56:53 localhost.localdomain systemd[1]: Unit mariadb.service entered failed state.
Dec 12 20:56:53 localhost.localdomain systemd[1]: mariadb.service failed.
解决办法:
卸载,重新安装:yum -y install mariadb-server  yum -y install mariadb-devel
参考  https://www.cnblogs.com/shanyou/p/3278692.html
-----------------------------------------------------
MariaDB 启动错误
 /usr/sbin/mysqld: unknown variable 'default-character-set=utf8mb4'
 Failed to start MariaDB 10.3.4 database server.
参考:https://www.cnblogs.com/felove2013/p/6293710.html
vim /etc/my.cnf.d/server.cnf 
[mysqld] 处 添加
character_set_server=utf8

--------------------C++链接错误-----------------------------------------------------
Can't initialize character set utf8mb4 (path: /usr/share/mysql/charsets/)
http://blog.itpub.net/30150152/viewspace-1800526
-------------------------------------------------------------------------
Navicat for MySQL链接出现错误:
115 - Unknown character set :'utf8'
Navicat for MySQL客户端:连接属性--》高级--》编码--》UTF8

-------------------------------------------------------------------------
mysql:1130 is not allowed to connect to this MariaDB server(没有远程登录权限,注:这里的MariaDB 是MySQL的延伸版)
解决:use mysql;   update user set Host='%' where Host='localhost'; flush privileges;
-------------------------------------------------------------------------
-----MySQL初始无密码登录,并修改密码
vim /etc/my.cnf.d/server.cnf
[mysqld] ##此处添加
skip-grant-tables  ##此处添加
改完密码载次注解
https://www.cnblogs.com/gumuzi/p/5711495.html

------------------------------------------------------------------------------

/usr/bin/ld: cannot find -lmysqlclient_r,原因是/usr/lib64/mysql找不到libmysqlclient_r.so

解决办法:(参考

首先你需要找到这个库的位置 

一般找的话需要将lib 给加上(注意:我这里是 -lmysqlclient_r 的报错,于是我找就找 libmysqlclient_r )

find / -name libmysqlclient_r*

/usr/lib64/mysql/libmysqlclient_r.so
/usr/lib64/mysql/libmysqlclient_r.so.16
/usr/lib64/mysql/libmysqlclient_r.so.16.0.0

既然找到了 那应该是路径的问题 以及库文件名字的问题,于是做了如下的软连接

ln -sv /usr/lib64/libmysqlclient_r.so.16.0.0 /usr/lib64/mysql/libmysqlclient_r.so(db_proxy_server/CMakeLists.txt设置的路径:/usr/lib64/mysql)

名字也改了一下,然后再编译就没问题了

一般都是这样的套路  

--------------------------------------------------------------------------------

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值