当前位置: 首页 > Linux

UBUNTU16.04LTSSERVER手动升级MariaDB到最新版本10.2

时间:2023-04-06 21:36:25 Linux

UBUNTU16.04LTSSERVER手动升级MariaDB到最新版本10.21。原因是最近因为不同软件的数据问题,小事一桩,越来越麻烦。有这样的需求,但是没有看到中文资源,所以记录下这篇文章。2.升级2.1手动添加源和安装切记!在进行任何更改之前,请务必使用mysqldump备份所有数据!!!血的教训。.恢复数据花了我两个晚上。首先,确保你的机器上安装了software-properties-common:sudoapt-getinstallsoftware-properties-common然后将MariaDB的仓库公钥添加到包管理中:sudoapt-keyadv--recv-keys--keyserverhkp://keyserver.ubuntu.com:800xF1656F24C74CD1D8然后添加MariaDB10.1的源:sudosh-c"echo'debhttps://mirrors.evowise.com/mariadb/repo/10.1/ubuntu'$(lsb_release-cs)'main'>/etc/apt/sources.list.d/MariaDB101.list"这里最好一步步升级,所以先安装10.1再升级到10.2。升级:#updatesudoapt-getupdate#升级sudoapt-getinstallmariadb-servermariadb-client然后添加MariaDB10.2的源:sudosh-c"echo'debhttps://mirrors.evowise.com/mariadb/repo/10.2/ubuntu'$(lsb_release-cs)'main'>/etc/apt/sources.list.d/MariaDB102.list"upgrade:#updatesudoapt-getupdate#upgradesudoapt-getinstallmariadb-servermariadb-client去这里我手动升级完了,然后用mysqldump把数据恢复回来。2.2“unix_socket”报错解决办法如果从低版本升级到高版本或者从MySQL升级到MariaDB,都可能会遇到。比如新安装的数据库,root账户无法登录:mysql"ERROR1524(HY000):Plugin'unix_socket'isnotloaded"这是因为这个叫做"unix_socket"的东西是MySQL的一个认证过程,但是它是在新版本中删除!所以您的登录无法正常验证。.解决方法如下:先切入超级管道:sudosu然后完全停止mysql,绕过认证连接:/etc/init.d/mysqlstopmysqld_safe--skip-grant-tables&mysql-uroot完成以下语句在SQLShell中运行:#Usemysqllibraryusemysql;#重置密码更新用户setpassword=PASSWORD("mynewpassword")whereUser='root';#重置认证方式,移除unix_socket,恢复正常认证方式updateusersetplugin="mysql_native_password";#ExitSQLShellquit;重启MySQL:/etc/init.d/mysqlstopkill-9$(pgrepmysql)/etc/init.d/mysqlstart然后应该可以正常登录了:mysql-uroot-p2.3MariaDBSecurity下面的命令可以自动设置一些数据库安全的东西,可选:mysql_secure_installation这个命令运行后会设置一个新的root密码,删除匿名用户,取消远程root登录和删除测试库。下面是运行的输出:root@aliyun:/www#mysql_secure_installation注意:建议在生产使用中为所有MariaDB服务器运行此脚本的所有部分!请仔细阅读每一步!为了登录MariaDB以保护它,我们需要root用户的当前密码。如果你刚刚安装了MariaDB,还没有设置root密码,密码会是空的,所以你应该直接按回车。Entercurrentpasswordforroot(enterfornone):OK,successfullyusedpassword,movingon...设置root密码可确保任何人在未经适当授权的情况下都无法登录MariaDBroot用户。您已经设置了root密码,因此您可以安全地回答“n”。更改root密码?[Y/n]n...跳过。默认情况下,MariaDB安装有一个匿名用户,允许任何人登录MariaDB,而无需为他们创建用户帐户。这仅用于测试,并使安装更顺利顺畅。您应该在进入生产环境之前删除它们。删除匿名用户?[Y/n]y...成功!通常,只允许root从“本地主机”连接。这可确保有人无法从网络中猜出root密码。是否允许远程root登录?[Y/n]y...成功!默认情况下,MariaDB带有一个名为“test”的数据库,任何人都可以访问。这也仅用于测试,应在进入生产环境之前删除。删除测试数据库并访问它?[Y/n]y-删除测试数据库......成功!-删除测试数据库的权限......成功!重新加载权限表将确保到目前为止所做的所有更改将立即生效。现在重新加载权限表?[Y/n]y...成功!清理...全部完成!如果您完成了上述所有步骤,您的MariaDB安装现在应该是安全的。感谢您使用MariaDB!运行下面的命令可以查看数据库版本:mysql-VmysqlVer15.1Distrib10.2.14-MariaDB,fordebian-linux-gnu(x86_64)usingreadline5.2参考:INSTALL/UPGRADETOMARIADB10.1/10.2/10.3LATESTONUBUNTU16.04LTSSERVERUbuntu15.10mysqlerror1524-unix_socket