继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

mariadb install on Ubuntu 16.04.1 LTS

largeQ
关注TA
已关注
手记 953
粉丝 92
获赞 585


最近在尝试基于Ubuntu 16.04.1 LTS server 部署openstack ,在部署的过程中遇到mariadb 无法正常链接。

问题

参照openstack 官方文档安装mariadb,安装后遇到无法在本地登录的问题

$mysql -u root -p

$mysql -h localhost -u root -p

报错如下

mysql (mariadb) ERROR 1698 (28000): Access denied for user 'root'@'localhost'

但使用如下方式却可以登录

$sudo mysql -u root

遂卸载mariadb,但卸载方式比较暴力,导致再次安装时报出类似如下错误

dpkg: warning: while removing mariadb-server-core-10.0, directory '/usr/share/mysql' not empty so not removed

dpkg: error processing package mariadb-server-10.0 (--configure):  subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing:  mariadb-server-10.0 E: Sub-process /usr/bin/dpkg returned an error cod

E: Sub-process /usr/bin/dpkg returned an error code (1)

解决方案

先说下卸载方式,通过包管理器正确卸载软件的方式如下

apt purge mariadb* mysql*

apt autoremove

apt autoclean

如重新安装时遇上述错误,可尝试强制安装(apt install -f)、重新安装(apt --reinstall install)、正确卸载方式(apt purge mariadb && apt autoremove && apt autoclean)

如遇依赖警告,直接安装对应依赖

接下来说说对mariadb的解决方案

通过反复多次尝试,最后通过安装更高版本解决。

之前的安装是参照openstack 官方文档,安装的是mariadb-server-10.0,多次尝试后问题仍存在,就在想到mariadb官方找找文档看。

结果文档没找到,反倒找到了官方的安装文档,遂参考mariadb官方文档安装了最新稳定版本mariadb-server-10.1

在安装过程中,新版会要求设置mariadb root用户口令,而10.0版本却没有。同样在卸载过程中,也提示是否确认删除所有数据库文件,这都是10.0版本没有的。

安装好10.1版本mariadb后,就可正常连接了。

总结

通过反复尝试,基本可以判断是安装的mariadb版本(或对应系统)不正确,同时也可能是10.0版本存在这种问题。

如再次遇到类似的问题,可以尝试安装软件的不同版本,或变更安装的路径。

©著作权归作者所有:来自51CTO博客作者lylspecter的原创作品,如需转载,请注明出处,否则将追究法律责任

installmariadbDB


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP