Blast2GO 是一个基于序列相似性搜索的 GO 注释和功能分析工具,它可以直接统计分析基因功能信息,并可视化 GO 有向非循环图(DAG)上的相关功能特征,分析 BLAST、GO-mapping、GO 注释分析和富集分析结果。

Blast2GO Command Line (CLI) 的使用需要满足 Java 与 MySQL 的预安装。

Blast2GO Command Line (CLI) is a Java application and can be run on Mac, Linux and Windows 64-bit systems. It is always necessary to have Java 64-bit (version 1.6 or higher preferably from Sun/Oracle) installed, at least 1GB of RAM is recommended. The Blast2GO Command Line needs a Blast2GO database (DB) to perform the mapping step. This DB can be generated with the CLI itself; however the previous installation and configuration of a MySQL server (GPL license) is necessary.

From:Blast2GO Command Line User Manual

作为 Blast2GO 本地化所依赖的数据库,下面我们介绍一下 MySQL 的安装配置、存储位置修改及新版中低级密码设置不允许的解决方法。

MySQL 各个版本区别

MySQL 的官网下载地址 https://www.mysql.com/downloads/ 的界面会有几个版本的选择,这几个版本的区别如下。

  • Oracle MySQL Cloud Service (commercial)基于 MySQL 企业版构建的  Oracle MySQL 云服务,由 Oracle Cloud 提供技术支持,提供企业级的 MySQL 数据库服务,需付费。

  • MySQL Enterprise Edition (commercial) MySQL 企业版本,包含了最全面的 MySQL 高级特性和管理工具。需付费,可以试用 30 天。

  • MySQL Cluster CGE (commercial)。MySQL 高级集群版,是一个实时开源事务数据库,专为在高吞吐量条件下快速,永久地访问数据而设计。需付费。

  • MySQL Community Edition (GPL)MySQL 社区版本,开源免费,但不提供官方技术支持。

MySQL Community Edition(社区免费版,https://dev.mysql.com/downloads/) 又分为 MySQL Community Server、MySQL Cluster、MySQL Router、MySQL Shell、MySQL Workbench、MySQL on Windows、…、MySQL SUSE Repository 等根据不同的操作系统平台细分为多个版本。其中 MySQL Community Server 是开源免费的,这也是我们通常用的 MySQL 的版本。

MySQL 免安装版

MySQL 提供了 rpm、源码、免安装等多种安装方式,其中通过源码编译安装是比较耗时,过程相对复杂的一个过程。对于不想使用源码编译安装的童鞋,MySQL 提供了免安装直接解压可用的版本。

$ wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.12-el7-x86_64.tar.gz

MySQL 源码包下载

我们以 CentOS/RedHat 平台为例来说明。进入 MySQL Community Server 下载页面 https://dev.mysql.com/downloads/mysql/,在适合 Linux 系统的 Source Code 源码中选择带有 Boost 头的压缩包(MySQL 需要 Boost C++ 库构建)进行下载。

  • Source Code:源代码下载

  • Generic Linux (Architecture Independent):通用的 Linux(独立结构)。

  • 点击下载,需要注册 Oracle 账号,这里不细说。

    eg. https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.12.tar.gz

  • 其他下载版本

    如果想要下载其他版本的 MySQL,可以在 https://downloads.mysql.com/archives/community/ 选择符合自己服务器的版本进行下载。

MySQL 源码编译安装

1. 安装依赖包

[root@ecs-steven ~]# yum -y install gcc gcc-c++ ncurses ncurses-devel cmake bison doxygen

2. 新建 MySQL 用户和用户组

[root@ecs-steven ~]# groupadd -r mysql && useradd -r -g mysql -s /sbin/nologin -M mysql

3. 新建 MySQL 数据库数据文件目录输入标题

[root@ecs-steven ~]# mkdir /usr/local/software/mysql# mysql-8.0.12 中可以不用新建数据保存的路径,在初始化 MySQL 数据库时可通过 --datadir 参数自动生成[root@ecs-steven ~]# mkdir /usr/local/software/mysql/{log,data} -p

Tip:真实的生产环境一般来说会把数据独立放在根目录下,方便磁盘挂载上去。

4. 执行预编译

[root@ecs-steven mysql-8.0.12]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/software/mysql \-DMYSQL_DATADIR=/usr/local/software/mysql/data \-DWITH_BOOST=./boost \-DSYSCONFDIR=/etc \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DENABLED_LOCAL_INFILE=1 \-DDEFAULT_CHARSET=utf8mb4 \-DDEFAULT_COLLATION=utf8mb4_general_ci \-DWITH_EMBEDDED_SERVER=1 \-DEXTRA_CHARSETS=all \-DMYSQL_TCP_PORT=3306 \-DWITH_SSL=system \-DMYSQL_UNIX_ADDR=/usr/local/software/mysql/mysqld.sock

各个参数解释:(详细说明,参考 MySQL 8.0 Reference Manual - 2.8.4 MySQL Source-Configuration Options)

-DCMAKE_INSTALL_PREFIX=/usr/local/software/mysql  //安装路径-DMYSQL_DATADIR=/usr/local/software/mysql/data    //数据文件存放位置-DWITH_BOOST=./boost                              //指定 boost 的位置-DSYSCONFDIR=/etc                                 //设置 my.cnf 配置文件的所在目录,默认为安装目录 -DWITH_INNOBASE_STORAGE_ENGINE=1                  //安装 InnoDB 引擎-DWITH_BLACKHOLE_STORAGE_ENGINE=1                 //安装 blackhole 存储引擎-DWITH_ARCHIVE_STORAGE_ENGINE=1                   //安装 archive 存储引擎-DWITH_MYISAM_STORAGE_ENGINE=1                    //安装 myisam 存储引擎-DWITH_PARTITION_STORAGE_ENGINE=1                 //安装支持数据库分区 -DENABLED_LOCAL_INFILE=1                          //允许从本地导入数据-DDEFAULT_CHARSET=utf8mb4                         //存储 emoji 时使用 utf8 数据会出错,建议使用完全兼容 utf8 的 utf8mb4-DDEFAULT_COLLATION=utf8mb4_general_ci            //设置默认校对规则-DWITH_EMBEDDED_SERVER=1                          //嵌入式服务器,MySQL 8.0 起该参数已经被移除-DEXTRA_CHARSETS=all                              //安装所有扩展字符集-DMYSQL_TCP_PORT=3306                             //指定 TCP 端口为 3306  -DWITH_SSL=system                                 //启用系统 OpenSSL 库支持(yes 等同于 system )-DMYSQL_UNIX_ADDR=/usr/local/software/mysql/mysqld.sock //指定 mysql.sock 路径

5. 编译安装

[root@ecs-steven mysql-8.0.12]# make -j `grep processor /proc/cpuinfo | wc -l`#编译很消耗系统资源,小内存可能编译通不过[root@ecs-steven mysql-8.0.12]# make install

6. 配置 my.cnf 文件

MySQL 服务器有许多操作参数,我们可以使用命令行选项或配置文件(option files)在服务器启动时更改这些参数。

在 Windows 上,MySQL 安装程序会在基本安装目录中创建名为 my.ini 的文件作为默认选项文件(没有的话,可以自行创建)。在 Linux 中,MySQL 服务会依次从 /etc/my.cnf、/etc/mysql/my.cnf、/usr/local/mysql/etc/my.cnf、~/.my.cnf 读取默认的 my.cnf 配置文件;在命令行下可使用 mysqld –verbose –help 命令查看 MySQL 读取配置文件后启动的参数。

[root@ecs-steven etc]# cat /etc/my.cnf[client]port = 3306socket = /usr/local/software/mysql/mysqld.sock[mysqld]port = 3306socket = /usr/local/software/mysql/mysqld.sockbasedir = /usr/local/software/mysqldatadir = /usr/local/software/mysql/datapid-file = /usr/local/software/mysql/data/mysql.piduser = mysqlbind-address = 0.0.0.0server-id = 1init-connect = 'SET NAMES utf8mb4'character-set-server = utf8mb4back_log = 300max_connections = 1000max_connect_errors = 6000open_files_limit = 65535table_open_cache = 128max_allowed_packet = 4Mbinlog_cache_size = 1Mmax_heap_table_size = 8Mtmp_table_size = 16Mread_buffer_size = 2Mread_rnd_buffer_size = 8Msort_buffer_size = 8Mjoin_buffer_size = 8Mkey_buffer_size = 4Mthread_cache_size = 8ft_min_word_len = 4log_bin = mysql-binbinlog_format = mixedlog_error = /usr/local/software/mysql/data/mysql-error.logslow_query_log = 1long_query_time = 1slow_query_log_file = /usr/local/software/mysql/data/mysql-slow.logperformance_schema = 0explicit_defaults_for_timestampskip-external-lockingdefault_storage_engine = InnoDB#default-storage-engine = MyISAMinnodb_file_per_table = 1innodb_open_files = 500innodb_buffer_pool_size = 64Minnodb_write_io_threads = 4innodb_read_io_threads = 4innodb_thread_concurrency = 0innodb_purge_threads = 1innodb_flush_log_at_trx_commit = 2innodb_log_buffer_size = 2Minnodb_log_file_size = 32Minnodb_log_files_in_group = 3innodb_max_dirty_pages_pct = 90innodb_lock_wait_timeout = 120bulk_insert_buffer_size = 8Mmyisam_sort_buffer_size = 8Mmyisam_max_sort_file_size = 10Gmyisam_repair_threads = 1interactive_timeout = 28800wait_timeout = 28800[mysqldump]quickmax_allowed_packet = 16M[myisamchk]key_buffer_size = 8Msort_buffer_size = 8Mread_buffer = 4Mwrite_buffer = 4M

7. 初始化 MySQL 数据库

[root@ecs-steven mysql-5.7.13]# /usr/local/software/mysql/bin/mysqld  --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql --basedir=/usr/local/software/mysql --datadir=/usr/local/software/mysql/data

8. MySQL 服务启动与关闭

mysqld_safe is the recommended way to start a mysqld server on Unix. mysqld_safe adds some safety features such as restarting the server when an error occurs and logging runtime information to an error log.

From:4.3.2 mysqld_safe — MySQL Server Startup Script, MySQL 8.0 Reference Manual

# 启动[root@ecs-steven mysql-8.0.12]# /usr/local/software/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &[1] 19351[root@ecs-steven mysql-8.0.12]# Logging to '/usr/local/software/mysql/data/mysql-error.log'.2018-09-21T08:51:39.325794Z mysqld_safe Starting mysqld daemon with databases from /usr/local/software/mysql/data# 关闭[root@ecs-steven ~]# /usr/local/software/mysql/bin/mysqladmin shutdown2018-09-22T01:48:11.500105Z mysqld_safe mysqld from pid file /usr/local/software/mysql/data/mysql.pid ended

9. 登陆数据库

$ /usr/local/software/mysql/bin/mysql -uroot

MySQL 第一次安装完成后,是没有设置 root 密码的,直接回车 Enter 即可登陆:

10. 数据库其他配置

10.1 修改 root 账号密码

mysql -u rootmysql> use mysql;mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'your password';Query OK, 0 rows affected (0.01 sec)# 我们也可以通过该命令直接重置 root 账号密码

10.2 查看目前的用户账号

mysql> select user,host from mysql.user;+------------------+-----------+| user             | host      |+------------------+-----------+| mysql.infoschema | localhost || mysql.session    | localhost || mysql.sys        | localhost || root             | localhost |+------------------+-----------+4 rows in set (0.00 sec)mysql>

10.3 忘记 root 账号密码

① mysqladmin 关闭失败

[root@ecs-steven ~]# /usr/local/software/mysql/bin/mysqladmin shutdownmysqladmin: connect to server at 'localhost' failederror: 'Access denied for user 'root'@'localhost' (using password: NO)'

② 停止 mysql 服务

[root@ecs-steven ~]# /usr/local/software/mysql/bin/mysqld stop  # 不起作用[root@ecs-steven ~]# kill -9 processes

③ 安全模式启动

[root@ecs-steven ~]# /usr/local/software/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --skip-grant-tables &[1] 26389[root@ecs-steven ~]# 2018-11-15T03:10:48.938826Z mysqld_safe Logging to '/usr/local/software/mysql/data/mysql-error.log'.2018-11-15T03:10:48.973639Z mysqld_safe Starting mysqld daemon with databases from /usr/local/software/mysql/data

④ 无密码 root 帐号登陆

[root@ecs-steven ~]# /usr/local/software/mysql/bin/mysql -uroot#在下面的要求你输入密码的时候,你不用管,直接回车键一敲就过去了Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 7Server version: 8.0.12 Source distributionCopyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>

⑤ 修改密码,重新登陆

mysql> use mysql;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'your new password';Query OK, 0 rows affected (0.01 sec)mysql> \qBye# 重新登陆测试[root@ecs-steven ~]# /usr/local/software/mysql/bin/mysql -uroot -pEnter password: Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 14Server version: 8.0.12 Source distributionCopyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>

⑥ 正常重新启动

[root@ecs-steven mysql]# /usr/local/software/mysql/bin/mysqladmin shutdown -uroot -pEnter password:2018-11-15T06:48:33.125907Z mysqld_safe mysqld from pid file /usr/local/software/mysql/data/mysql.pid ended[1]+  Done                    /usr/local/software/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql  (wd: ~)(wd now: /usr/local/software/mysql)[root@ecs-steven ~]# /usr/local/software/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &[1] 29368[root@ecs-steven ~]# 2018-11-15T03:36:28.876747Z mysqld_safe Logging to '/usr/local/software/mysql/data/mysql-error.log'.2018-11-15T03:36:28.910624Z mysqld_safe Starting mysqld daemon with databases from /usr/local/software/mysql/data

设置启动脚本,开机自启动

注意:如果是使用免安装版本的 MySQL,需要补充 mysql.server 文件中的 basedir 和 datadir:

basedir=/usr/local/software/mysqldatadir=/usr/local/software/mysql/data

设置 MySQL 开机启动

[root@ecs-steven ~]# ls -lrt /usr/local/software/mysql[root@ecs-steven ~]# cp /usr/local/software/mysql/support-files/mysql.server /etc/init.d/mysqld[root@ecs-steven ~]# chmod +x /etc/init.d/mysqld[root@ecs-steven ~]# systemctl enable mysqldmysqld.service is not a native service, redirecting to /sbin/chkconfig.Executing /sbin/chkconfig mysqld on

启动数据库:

[root@ecs-steven ~]# systemctl start mysqld[root@ecs-steven ~]# systemctl status mysqld

查看 MySQL 服务进程和端口:

[root@ecs-steven ~]# ps -ef | grep mysql[root@ecs-steven ~]# netstat -tunpl | grep 3306

参考资料:

  • Blast2GO Command Line User Manual - Version 1.1 October 2015

  • anlan,blast2go 本地化,生信技能树

  • 蜗牛,CentOS 7 安装并配置 MySQL 5.6,博客园

  • JagoWang,mysql 重置 root 密码及相关问题,GitHub

  • Mariana Monteiro,Local Blast2GO Database Installation,Blast2GO Blog

  • 2.10.4 Securing the Initial MySQL Account,MySQL 8.0 Reference Manual

  • B.5.3.2 How to Reset the Root Password,MySQL 8.0 Reference Manual

  • 黄杉,MySQL root 密码重置报错:mysqladmin: connect to server at ‘localhost’ failed 的解决方案,CSD

原文链接:http://www.bioinit.com/post/linux-mysql-install,欢迎访问!

·end·

—如果喜欢,快分享给你的朋友们吧—

我们一起愉快的玩耍吧

本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

从 Blast2GO 本地化聊一聊 Linux 下 MySQL 的源码安装的更多相关文章

  1. linux下mysql的源码安装

    mysql有多中安装方法,本文只涉及编译安装,对其他方法感兴趣的可以自行百度. 1.首先获取mysql软件安装包,这里用wget下载 [root@localhost ~]# wget http://d ...

  2. centos下mysql 5源码安装全过程记录

    参考:http://blog.csdn.net/mycwq/article/details/24488691 安装cmake,mysql 5.5以后的版本要通过cmake进行编译 在新装的CentOS ...

  3. linux下无root源码安装软件

    先进入源码文件夹下指定安装路径 ./configure --prefix=/public/home/ztu/usr/samtools 编译 make 安装 make install 写入环境变量 vi ...

  4. linux下获取软件源码包 centos/redhat, debian/ubuntu

    linux下获取软件源码包 centos/redhat, debian/ubuntu centos下: 1. yum install yum-utils 主要为了获取yumdownloader 2. ...

  5. Windows,linux下编译qt源码(比较简单)

    一.linux下静态编译qt源码 1.取到qt源码并解压到文件夹 2.cd到qt目录下 3.使用configure生成makefile ./configure–prefix /opt/qtstatic ...

  6. CentOS Linux release 7.3源码安装zabbix

    CentOS Linux release 7.3安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 我去年用用centos6的环境搭建了一下 zabbix3.0 ...

  7. LinuxMint下的Orionode源码安装

    1. Orionode介绍 Eclipse-orion是Eclipse项目下面的一个子项目,orion是一个在在线版的代码编辑环境.其介绍参考http://wiki.eclipse.org/Orion ...

  8. 08 Linux下MySQL的下载、安装及启动

    测试环境 主机系统:Win7 64位 虚拟机:VMware® Workstation 11.1.0 虚拟机系统:CentOS 6.5 64位   Kernel 2.6.32-431.e16.x86_6 ...

  9. linux下mysql的卸载、安装全过程

    卸载mysql 1.查找以前是否装有mysql 命令:rpm -qa|grep -i mysql 可以看到mysql的两个包: mysql-4.1.12-3.RHEL4.1 mysqlclient10 ...

  10. linux下mysql 5.7.22 安装

    二进制安装 1.下载https://dev.mysql.com/downloads/mysql/5.6.html#downloads 2.官方文档https://dev.mysql.com/doc/r ...

随机推荐

  1. Wondershare Recovery - 万兴数据恢复专家,恢复你 Mac 上的重要文件

    Wondershare Recoverit 是恢复被删除文件最有效的软件之一.计算机用户面临的一个主要问题是失去机密信息.我们可能是误删除了数据和文件,或者可能是由于病毒袭击.操作系统故障或硬盘故障而 ...

  2. 汽车制造工艺 2.5D 可视化组态监控 | 图扑软件

    前言 随着世界经济的不断发展,汽车作为一个如今随处可见的物体,从大体上概括是由四大部分组成:发动机.底盘.车身.电气系统.看似简单的几个名词组件,其内部却是由无数的细小零件构成,一辆汽车更是由上万个微 ...

  3. 原型继承和 Class 继承

    涉及面试题: 原型如何实现继承? Class 如何实现继承? Class 本质是什么? ⾸先先来讲下 class ,其实在 JS 中并不存在类, class 只是语法糖,本质还是函数. class P ...

  4. AtCoder Beginner Contest 061 - D Score Attack

    给定一张边带权的有向图.从节点\(1\)出发,每经过一条边一次,得分加上这条边的边权.(可以多次经过,多次累加 必须在点\(n\)结束游戏 判断是否能使得分无限大,如果否,求最大得分. sol 题目所 ...

  5. 线上诊断神器-arthas基本应用

    Arthas基本应用 一.Arthas作用 什么是Arthas呢? ​ Arthas 是一款阿里推出的线上监控诊断产品,通过全局视角实时查看应用 load.内存.gc.线程的状态信息,并能在不修改应用 ...

  6. RabbitMQ详解(上)

    一:MQ的相关概念 MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息.在 ...

  7. 【介绍】.NET新加特性介绍

    ​ 简介 当下的.Net新版本引进了几种新特性,包括全局命名空间引用.可空引用类型和顶级语句.这些特性在一定程度上改善了 .NET 平台的开发效率, 对于短小精干的小程序,这些新的特性无疑可以把开发效 ...

  8. linux下防火墙与SELinux状态与关闭

    linux下防火墙与SELinux状态与关闭 在使用ftp命令以及wget命令测试两台linux机器之间ftp下载是否正常,虽然关闭了防火墙,但是一直还是提示以下错误 然来还需要将SELinux 设置 ...

  9. Qt第三方库QtAV--- ubuntu编译与运行

    Qt第三方库QtAV--- ubuntu编译与运行 今天又要接触这个,把一些错误或者不足的地方重新补充下!!!由于前面一段时间,项目中需要借助QtAV接口进行视频播放,特此记录下整个配置过程.整个代码 ...

  10. async/await中的promise返回错误reject

    https://blog.csdn.net/qq_42543244/article/details/123423894 最近在学 node ,之前对 async/await 和 promise 略懂, ...