本文介绍在Ubuntu 18.04、Ubuntu 18.10系统上安装2019年2月21日发布的MariaDB 10.3.13稳定版本,目前也有推出10.4版本,但建议部署服务器的机器安装Stable版本。
在Ubuntu 18.04/18.10上从官方存储库安装最新的MariaDB版本
默认的Ubuntu存储库包含MariaDB软件包,但版本已过期,Ubuntu 18.04/18.10都只包含MariaDB 10.1,我们可以从官方MariaDB存储库安装最新版本。
访问MariaDB下载页面并选择你要使用的Linux发行版、发行版、版本和存储库镜像,例如,我选择了Ubuntu 18.04、MariaDB 10.3和Limestone Networks镜像,如下面的屏幕截图所示:
完成所有选择后,页面底部将显示自定义说明,作为示例,我需要运行以下命令以在Ubuntu 18.04上添加存储库:
sudo apt-get install software-properties-common
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirrors.accretive-networks.net/mariadb/repo/10.4/ubuntu bionic main'
要在Ubuntu 18.10上添加存储库,只需在上面第三个命令中用cosmic替换bionic,即仅换成:
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirrors.accretive-networks.net/mariadb/repo/10.4/ubuntu bionic main'
前面两个命令不变。
然后更新包索引并安装MariaDB服务器:
sudo apt update
sudo apt install mariadb-server
galera-3软件包将自动与MariaDB服务器一起安装,在安装过程中,系统会要求你为MariaDB root用户创建密码:
安装完成后,MariaDB服务器会自动启动,可以通过以下方式检查其状态:
systemctl status mysql
或者
systemctl status mariadb
提示:如果上述命令没有立即退出,按Q键获取终端控制权。
如果它没有运行,可以手动启动它:
sudo systemctl start mariadb
要在启动时启用自动启动,请运行:
sudo systemctl enable mariadb
要登录MariaDB监视器,请运行:
mysql -u root -p
或者
mariadb -u root -p
输入MariaDB root密码:
我们可以看到服务器版本是10.3.13,是从mariadb网站二进制发行版安装的,要注销,请运行:
exit;
注:要安装10.4版本请参考在Ubuntu 18.04系统上安装MariaDB 10.4的步骤。
故障排除
如果你之前从默认的Ubuntu存储库安装了MariaDB,现在你从mariadb网站安装了最新的MariaDB,那么在尝试登录时可能会遇到以下错误:
ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded
这是因为MariaDB二进制文件仍然使用mysql_native_password插件来验证用户登录,而来自Ubuntu存储库的MariaDB二进制文件使用unix_socket插件来验证用户登录,前者要求用户输入密码,而后者允许用户运行以下命令登录,而不必提供MariaDB root密码:
sudo mysql -u root
最初MariaDB root用户设置为使用unix_socket登录,因为它是从Ubuntu存储库安装的,但现在你从mariadb安装了一个新的二进制文件,它禁用了unix_socket插件,所以你会看到上面的错误。
运行安装后脚本
要尽可能保护MariaDB服务器,请运行安装后脚本:
sudo mysql_secure_installation
输入你的MariaDB root密码,然后回答n:
接下来,可以按Enter键回答所有剩余的问题,这将删除匿名用户,禁用远程root登录并删除测试数据库,也可以更改root密码,参考快速重置MariaDB或是MySQL的root密码,此步骤是MariaDB数据库安全性的基本要求(请注意,Y是大写的,这意味着它是默认答案):
InnoDB与XtraDB存储引擎
默认情况下,在MariaDB 10.1之前,MariaDB使用XtraDB存储引擎,这是来自MySQL的InnoDB存储引擎的性能增强分支,但是,随着时间的推移,MySQL已经实现了几乎所有的改进,InnoDB已经赶上了,所以从MariaDB 10.2开始,InnoDB就是默认引擎。
要检查哪个是默认存储引擎,请登录MariaDB监视器并运行以下命令:
show engines;
在MariaDB 10.1上,上面的命令返回以下结果,表明XtraDB是默认引擎:
在MariaDB 10.2和10.3上,上面的命令返回以下结果,表示InnoDB是默认引擎:
结语
以上就是在Ubuntu 18.04上安装MariaDB 10.3的方法,要在Ubuntu 18.10上安装仅需要把命令中含有的bionic更改成cosmic即可,其它的步骤和命令是相同的。