审校:大俞先生
书接上一回,本篇是 #在Linux系统上安装配置生物序列分析软件Blast2go系列# 的第二部分。MySQL是Blast2go本地化所依赖的数据库。本篇主要介绍它的安装配置、存储位置修改及新版中低级密码设置不允许的解决方法。
Blast2go的安装配置、导入配套数据到MySQL以及版本不兼容的解决方法请见下回分解。
车友请跳到需要部分阅读,老司机请跳车。
我的系统:Ubuntu17.10.1 (64 bit)(kernel 4.13)
MySQL 安装配置
以下操作步骤基于v.5.7,与较旧版本配置文件及部分命令差异较大。另基于用户有root权限,没有的话请直接跳到第二部分路径修改中、配置文件修改的那段黑体字,然后上网找篇没有root权限的安装MySQL方法配合服用。这里推荐Wei Shen的笔记(无root权限的安装MySQL):
1. 安装MySQL
安装非常简单,两行命令就可以解决。命令行输入:
安装的版本是v.5.7。安装完成后按提示设置密码:
命令行输入:
如果希望使用MySQL图形界面,再安装mysql-workbench:
然后win键打开搜索,搜“mysql”就可以打开图形界面了。
界面很友好,可用图形化操作也可以写代码。画风是这样的:
2. 修改MySQL数据保存路径(需要root权限)
存储的MySQL数据非常大,我系统所在的固态硬盘只有240G,这就需要将数据储存在外加的机械硬盘中。由于MySQL版本更新,配置的文件也有变化,以前很多教程不适用于现在的版本。在v.5.7中设置数据保存路径操作如下。
先停止MySQL,命令行输入:
在想要存放MySQL数据的位置新建一个文件夹mysqldata(名字随意)。
以下命令需要root权限,进入root用户更方便。
输入:
输入密码后进入root模式。
打开目录后输入:
查看权限。
可以看到文件权限属于mysql用户和mysql组,所以迁移数据的目的文件也需要被赋予相同权限。命令行输入:
此处
为刚刚新建的mysqldata文件夹的位置。
上面mysql文件的权限为700(只有所有者有读写和执行的权限),所以将迁移目标文件(新建的mysqldata)也赋予相同或更高的权限(比如777,即每人都有读写和执行的权限),命令行输入:
然后用cp命令将/var/lib/mysql下的所有内容复制到mysqldata目录。-a参数用于保留文件属性、链接。这一步建议使用cp而不是mv(移动)命令,等确定能运行后再删除,因为这个文件如果出问题可能导致需要MySQL重装(如需要重装方法见此段第三部分)。
复制和改权限这两部分顺序可换。如果更新数据库内容或移动位置后不能启动MySQL,出现“can't connect to mysql server through socket…”报错也可尝试重新执行赋权那2步操作解决。
接下来还需要修改MySQL的配置文件,为了避免中文路径的影响,新建/media/hd1文件夹用于挂载机械硬盘。路径不存在此问题可忽略下面3张截图了。
接下来这一步是与其它版本修改差别最大的地方,新版的MySQL配置的文件变化了。网上很多说在/etc/mysql/my.cnf中修改,但进去后并没有匹配的字段。v.5.7要修改的第一处配在/etc/mysql/mysql.cnf.d/mysql.cnf中。到后面很多功能的配置都会用到这个文件,按网上攻略找不到时不妨试试从这里面找。
命令行输入:
打开后搜索字段“datadir”,加#注释掉原来的路径,补mysqldata所在路径。
还有一处需要修改的配置在/etc/apparmor.d/usr.sbin.mysqld(使用gedit命令,方法同上)中,搜索字段“datadir”,注释掉如图两行,补上:
至此,所有需要修改的部分都完成了。
Apparmor是Ubuntu中的安全控件。我们重启MySQL前需要先将它重启:
重启MySQL:
所有步骤完成了。试试登录吧:
后输入密码。
现在可以放心删掉原来/var/lib/mysql/里的文件了。
3. 卸载MySQL
如果需要重装MySQL需要先把原来的删除干净('version'里填对应的版本):
可能有多余的命令,只是为了删的彻底些。
网上还有说法包含命令“sudo apt-get remove apparmor”,别听他的,这条命令可能导致重装系统才能解决的问题。也别问我怎么知道的。
4. 密码限制参数修改
较新版本的MySQL中安装了validate_password插件,如果在安装后创建其它新用户时密码太简单,会报错并不允许创建。出现这个问题时可以修改以下参数。进入MySQL,输入:
完成。修改会在重新登入MySQL后更新。
"quit"退出后重新进入MySQL。输入:
匹配查找相关参数发现已经全被改过来了。
Blast2go的安装配置与配套数据导入MySQL配置欢迎关注后续文章。其它有关MySQL内容以后可能放在其它系列中。
上车请刷卡:》》》
领取专属 10元无门槛券
私享最新 技术干货