Suse12.1 - mysql5.7 mongodb rpm部署

Posted will

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Suse12.1 - mysql5.7 mongodb rpm部署相关的知识,希望对你有一定的参考价值。

 
mysql:

1、确认是否安装了mysql 旧版本或应用

# rpm -qa|grep mysql

2、卸载旧版本或应用
#rpm -ev libqt4-sql-mysql-4.8.6-2.6.x86_64
3、更新Zypper 库(Adding the MySQL SLES Repository)
---
---
# rpm -Uvh mysql57-community-release-sles12-7.noarch.rpm
# zypper repos|grep mysql.*community
*本次安装mysql57-community 如果为非Yes 则需要使用以下命令

# zypper repos -E |grep mysql57-community

*使用以下命令是禁止

 # sudo zypper modifyrepo -d mysql57-community

*使用以下命令是允许
# sudo zypper modifyrepo -e mysql57-community
# sudo zypper refresh
 
3.1导入MySQL GnuPG密钥

导入到系统中的用于MySQL产品的GnuPG密钥,用于从MySQL SLES存储库中检查下载的软件包的签名,并使用以下命令:

sudo rpm --import /etc/RPM-GPG-KEY-mysql

4、安装MySQL 5.7 Server (Installing MySQL with Zypper)
# sudo zypper install mysql-community-server
5、初始化配置MySQL 5.7 (Starting the MySQL Server)

# sudo service mysql stop

# sudo service mysql start

-----

报错:

# vim /var/log/mysql/mysqld.log
2016-10-08T02:48:46.797210Z 0 [ERROR] Could not open unix socket lock file /var/lib/mysql/mysql.sock.lock.
2016-10-08T02:48:46.797227Z 0 [ERROR] Unable to setup unix socket lock file.
2016-10-08T02:48:46.797243Z 0 [ERROR] Aborting

解决:

rm /var/lib/mysql/mysql.sock
rm /var/lib/mysql/mysql.sock.lock
可以这样修改密码---跳过授权
修改my.cnf配置文件
# sudo vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables,如下:
[mysqld] 
datadir=/var/lib/mysql  
socket=/var/lib/mysql/mysql.sock  
skip-grant-tables 
重启服务
# sudo systemctl restart mysqld
登陆并修改密码
# mysql -uroot
mysql> use mysql
MySQL 5.7.6 以及最新版本:
mysql> update user set authentication_string=PASSWORD(\'rzrk123456\') where User=\'root\';
MySQL 5.7.5 或更早之前的版本:
# mysql> update user set password=PASSWORD(\'newpass\') where User=\'root\';
登陆测试
将my.cnf的设置修改回来,重启MySQL服务,并登陆测试:

-----

*查询安装系统时所生成的随机密码

# grep "password" /var/log/mysql/mysqld.log

2016-09-27T07:45:58.815397Z 1 [Note] A temporary password is generated for root@localhostzrp=hfIo&3VF
# mysql -uroot -p --密码为所查询到的随机密码
 
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.        ---报错
*初始化密码,密码复杂性报错
mysql> set password=PASSWORD(\'rzrk123\');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
*修改密码复杂性值:0orLOW
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

*修改初始密码;

mysql> SET PASSWORD = PASSWORD(\'rzrk123456\');        ---红色为密码

成功!!
 
更改数据库存储路径:
1.检查mysql数据库存放目录
# mysql -uroot -przrk123456
mysql> show variables like \'%dir%\';
+-----------------------------------------+-------------------------------+
| Variable_name                           | Value                         |
+-----------------------------------------+-------------------------------+
| basedir                                 | /usr/                         |
| binlog_direct_non_transactional_updates | OFF                           |
| character_sets_dir                      | /usr/share/mysql/charsets/    |
| datadir                                 | /home/rzrk/server/data/mysql/ |
| ignore_db_dirs                          |                               |
| innodb_data_home_dir                    |                               |
| innodb_log_group_home_dir               | ./                            |
| innodb_max_dirty_pages_pct              | 75.000000                     |
| innodb_max_dirty_pages_pct_lwm          | 0.000000                      |
| innodb_tmpdir                           |                               |
| innodb_undo_directory                   | ./                            |
| lc_messages_dir                         | /usr/share/mysql/             |
| plugin_dir                              | /usr/lib64/mysql/plugin/      |
| slave_load_tmpdir                       | /tmp                          |
| tmpdir                                  | /tmp                          |
+-----------------------------------------+-------------------------------+
2.停止mysql服务
3.创建新的数据库存放目录
4.移动之前的目录文件到新的目录文件

cp -R /var/lib/mysql/* /home/rzrk/server/data/mysql

chown mysql:mysql /home/rzrk/server/data/mysql -R
vim /etc/my.cnf
datadir=/home/rzrk/server/data/mysql
重启mysql服务
 
 

MongoDB(11) 在 SUSE 上安装MongoDB社区版

初始化脚本

mongodb-org 软件包包含各种初始化脚本, 包括初始化脚本 /etc/rc.d/init.d/mongod. 你可以使用这个脚本停止, 启动和重启守护进程.

这个包使用 /etc/mongod.conf 文件配置MongoDB并与初始化脚本集合使用. 对于配置文件中可用的配置的文档请参阅配置文件参考.

从版本 3.2.10 开始, 将没有 mongos 的初始化脚本. mongos 仅用于分片. 你可以将使用的 mongod 初始化脚本改成你这种环境可用的 mongos 初始化脚本. 有关配置的详细信息, 请参阅 mongos 参考.

默认 /etc/mongod.conf 配置文件提供的软件包有 bind_ip, 默认设置为 127.0.0.1. 在初始化副本集之前, 你的环境需要修改这个配置.

注意:
SUSE Linux 企业版服务器和潜在的其它 SUSE 分发版本的 虚拟内存地址空间默认限制为8GB. 你必须调整这个参数以便于随着数据库的增长从而防止虚拟内存分配失败. 
MongoDB的 SLES 软件包在初始化脚本中调整了这些限制, 但是如果你使用的是自定义脚本或者压缩包 发行版而不是SLES软件包, 你将需要手动更改这些限制.

安装 MongoDB 社区版

注意: 
安装3.2之前的 MongoDB 版本, 请参阅指定版本文档. 例如, 参阅版本 3.0.

本安装教程仅支持64位操作系统. 详细信息请参阅平台支持.

1.配置软件包管理系统 (zypper).

添加存储库以便于可以使用 zypper 安装 MongoDB.

版本 3.0 改变: MongoDB Linux 软件包在 3.0 开始有了新的存储库.

对于最新的稳定版本的 MongoDB

运行适合你SUSE版本的命令:

SUSE 11

sudo zypper addrepo --no-gpgcheck "https://repo.mongodb.org/zypper/suse/11/mongodb-org/3.2/x86_64/" mongodb

SUSE 12

sudo zypper addrepo --no-gpgcheck "https://repo.mongodb.org/zypper/suse/12/mongodb-org/3.2/x86_64/" mongodb

对于版本早于 3.0 的 MongoDB

从更早的版本系列安装软件包, 比如 3.0, 你可以从存储库配置中指定发行版本系列. 例如, 将 SUSE 11 系统限制为 3.0 版本系列, 使用以下命令:

sudo zypper addrepo --no-gpgcheck https://repo.mongodb.org/zypper/suse/11/mongodb-org/3.0/x86_64/ mongodb

2.安装 MongoDB 软件包和相关工具.

当安装软件包时, 你可以选择安装当前版本或者上一版本. 这步骤两个命令都提供了.

安装最新稳定版本的 MongoDB, 请执行以下命令:

sudo zypper -n install mongodb-org

安装特定版本的 MongoDB, 单独指定每个组件软件包, 并将版本号附加到软件包名称的后面, 如以下示例中所示:

sudo zypper install mongodb-org-3.2.10 mongodb-org-server-3.2.10 mongodb-org-shell-3.2.10 mongodb-org-mongos-3.2.10 mongodb-org-tools-3.2.10

您可以指定任何可用的 MongoDB 版本. 然而当更新的版本可用时, yum 将会升级软件包. 为了防止意外升级, 通过运行以下命令来锁定软件包,

sudo zypper addlock mongodb-org-3.2.10 mongodb-org-server-3.2.10 mongodb-org-shell-3.2.10 mongodb-org-mongos-3.2.10 mongodb-org-tools-3.2.10

先前的MongoDB软件包版本使用了不同的存储库位置. 请参阅适合你的MongoDB版本的文档.

 

3.在系统上安装mongodb之后报错。 
(安装教程地址: https://docs.mongodb.com/master/tutorial/install-mongodb-on-red-hat/)

linux-63ug:~ # mongo

MongoDB shell version: 3.2.10
connecting to: test
Server has startup warnings: 
2017-05-04T03:23:06.726+0800 I CONTROL [initandlisten] 
2017-05-04T03:23:06.726+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is \'always\'.
2017-05-04T03:23:06.726+0800 I CONTROL [initandlisten] ** We suggest setting it to \'never\'
2017-05-04T03:23:06.726+0800 I CONTROL [initandlisten] 
2017-05-04T03:23:06.726+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is \'always\'.
2017-05-04T03:23:06.726+0800 I CONTROL [initandlisten] ** We suggest setting it to \'never\'
2017-05-04T03:23:06.726+0800 I CONTROL [initandlisten]

解决办法:

sudo echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
sudo echo "never" >  /sys/kernel/mm/transparent_hugepage/defrag

zypper install gcc* -y

 

 

运行 MongoDB 社区版

前提条件

MongoDB 实例默认在 /var/lib/mongo 存储它的数据文件和在 /var/log/mongodb 存储它的日志文件, 并且使用 mongod 账户运行. 你可以在 /etc/mongod.conf 指定日志记录和数据文件目录. 参阅 systemLog.path 和 storage.dbPath 获取更多信息.

如果你改变运行 MongoDB 进程的用户, 你必须修改对 /var/lib/mongo 和 /var/log/mongodb 目录的访问控制权限, 以授予这个用户可以访问这些目录.

程序

1.启动 MongoDB.

你可以发出以下命令启动 mongod 进程:

sudo service mongod start

2.验证 MongoDB 是否启动成功

你可以在 /var/log/mongodb/mongod.log 读取一行, 通过检查日志文件的内容来验证 mongod 进程是否启动成功

[initandlisten] waiting for connections on port <port>

其中 <port> 是 /etc/mongod.conf 配置的端口, 默认是 27017.

你可以通过执行以下命令设置 MongoDB 自动开机启动:

sudo chkconfig mongod on

3.停止 MongoDB.

根据需要, 你可以通过以下命令来停止 mongod 进程:

sudo service mongod stop

4.重启 MongoDB.

你可以通过以下命令来重启 mongod 进程:

sudo service mongod restart

你可以通过查看 /var/log/mongodb/mongod.log 文件的输出来关注进程状态的错误或者重要消息.

5.开始使用 MongoDB.

帮助你开始使用 MongoDB, MongoDB 提供了各种驱动版本的入门教程. 请参阅可用版本的入门.

在生产环境部署 MongoDB 之前, 请考虑生产注意事项的文档.

后来, 停止 MongoDB, 在运行 mongod 实例的终端中按 Ctrl+C.

卸载 MongoDB 社区版

从系统中完全删除 MongoDB, 你必须删除 MongoDB 应用程序本身, 配置文件, 和包含数据和日志的任何目录. 以下部分将指导您完成必要的步骤.

警告: 这个过程将会完全删除 MongoDB, 它的配置和所有数据库. 这个过程是不可逆的, 在往下进行之前请确保已经备份了我的所有配置和数据.

1.停止 MongoDB.

发出以下命令来停止 mongod:

sudo service mongod stop

2.删除软件包.

删除你之前安装的所有 MongoDB 软件包.

sudo zypper remove $(rpm -qa | grep mongodb-org)

3.删除数据目录.

删除 MongoDB 数据库和日志文件.

 
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo

以上是关于Suse12.1 - mysql5.7 mongodb rpm部署的主要内容,如果未能解决你的问题,请参考以下文章

SuSE11安装MySQL5.7.22:RPM安装方式

SuSE11安装MySQL5.7.22:编译安装说明

suse11安装mysql5.7

SuSE11安装MySQL5.7.22:二进制安装方式单实例

SuSE11单实例二进制安装MySQL5.7

Windows10 下安装配置IIS + MySQL5.7.19 + nginx1.12.1 + php7.1.7