centos下安装myrocksdb
承接上一篇,https://www.cnblogs.com/lunyu/p/10190364.html 。编译安装myrocks的整个过程,特别是第2步和第7步,让人冗长难耐。因此编译安装成功后省去这些步骤就显得很可贵了。这里,我提供了编译安装后的myrocks安装包,方便myrocksdb服务的的快速安装部署。
1. 安装必要的包
sudo yum install cmake gcc-c++ bzip2-devel libaio-devel bison \ zlib-devel snappy-devel sudo yum install gflags-devel readline-devel ncurses-devel \ openssl-devel lz4-devel gdb git
2. 安装autoconf
yum -y install autoconf
如果不安装,执行mysqldb的安装步骤( ./mysql_install_db --user=mysql --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data )会出现以下错误:
FATAL ERROR: please install the following Perl modules before executing ./mysql_install_db: Data::Dumper
3. 安装zstd
zstd是zstandard数据压缩工具,由Facebook开发,该工具如果不安装,执行第6步时会提示缺少zstd的问题。
参考页面:https://www.howtoing.com/zstd-fast-data-compression-algorithm-used-by-facebook
执行如下几步:
cd /usr/local git clone https://github.com/facebook/zstd.git cd zstd make sudo make install
编译和安装(make install)后的zstd文件产生的文件在 /usr/local/lib 下,我们需要将该目录下的文件拷贝至 /usr/lib64 目录下。
cd /usr/local/lib cp * /usr/lib64
如果没有安装zstd,则会出现以下错误:
/usr/local/mysql/mysql-5.6/bin/my_print_defaults: error while loading shared libraries: libzstd.so.1: cannot open shared object file: No such file or directory FATAL ERROR: Neither host 'localhost.localdomain' nor 'localhost' could be looked up with /usr/local/mysql/mysql-5.6/bin/resolveip Please configure the 'hostname' command to return a correct hostname. If you want to solve this at a later stage, restart this script with the --force option
4. 下载myrocksdb的安装包并解压
百度网盘链接:https://pan.baidu.com/s/1qmXz_FfQ1dT9-guu5mwTgA , 提取码:93wy。
将上述地址分享的 mysql.tar.gz 文件下载下来,上传到centos服务器 /usr/local 路径下并解压。
cd /usr/local tar -zvxf mysql.tar.gz
5. 配置my.cnf文件
对mysql的配置文件 /etc/my.cnf 填入以下内容。
[client] default-character-set=utf8 [mysqld] character_set_server=utf8 basedir =/usr/local/mysql datadir =/usr/local/mysql/data socket= /usr/local/mysql/mysql-5.6.sock port =3306 server_id =1 user=mysql default_authentication_plugin=mysql_native_password rocksdb default-storage-engine=rocksdb skip-innodb default-tmp-storage-engine=MyISAM collation-server=utf8_bin log-bin binlog-format=ROW
6. 安装数据库
cd /usr/local/mysql/scripts ./mysql_install_db --user=mysql --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
7. 启动数据库
切换到 /usr/local /mysql/bin 目录下,执行mysql的启动。
cd /usr/local/mysql/bin ./mysqld_safe --defaults-file=/usr/local/mysql/my.cnf &
通过 ps –ef | grep mysql 命令查看,出现mysql的启动进程表示启动成功。
8. 登录mysql
在 /usr/local/mysql/bin 目录下,执行,
./mysql –u root –p
输入密码:123456
之后进行一些必要的操作。
9. 尝试创建库和表
创建数据库
create database myrocks;
创建表
CREATE TABLE `linktable` ( `id1` bigint(20) unsigned NOT NULL DEFAULT '0', `id1_type` int(10) unsigned NOT NULL DEFAULT '0', `id2` bigint(20) unsigned NOT NULL DEFAULT '0', `id2_type` int(10) unsigned NOT NULL DEFAULT '0', `link_type` bigint(20) unsigned NOT NULL DEFAULT '0', `visibility` tinyint(3) NOT NULL DEFAULT '0', `data` varchar(255) NOT NULL DEFAULT '', `time` bigint(20) unsigned NOT NULL DEFAULT '0', `version` int(11) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (link_type, `id1`,`id2`) COMMENT 'cf_link_pk', KEY `id1_type` (`id1`,`link_type`,`visibility`,`time`,`version`,`data`) COMMENT 'rev:cf_link_id1_type' ) ENGINE=RocksDB DEFAULT COLLATE=utf8_bin;
10. 开放防火墙端口
这里防火墙是cetos默认的firewall防火墙。
打开设置的端口,重启防火墙。
firewall-cmd --zone=public --add-port=3306/tcp --permanent systemctl restart firewalld.service
11. 设置mysqld服务启动
每次启动服务都要执行步骤7,切换目录很麻烦,可以执行下面的操作,通过service启动。
执行chkconfig管理系统服务(service)的命令行工具。
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld chmod +x /etc/init.d/mysqld chkconfig --add mysqld chkconfig --level 345 mysqld on
这样我们可以通过以下命令来重启项目。
service mysqld restart
出现以下结果表示自动重复mysqld服务成功。
12. 设置在任意位置登录和导出mysql库
只需要配置一下mysql的环境变量。
export MYSQL_HOME=/user/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
出处:https://www.cnblogs.com/lunyu/p/10216781.html
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任