美文网首页
RedHat7离线部署

RedHat7离线部署

作者: Savior2016 | 来源:发表于2018-01-23 12:00 被阅读43次

主要内容:由于Redhat是离线的,所以程序部署时,boost,qt,数据库都需要离线安装。这里记录一下离线部署的过程,便于复现。
系统版本RedHat 7.0 (Red Hat 4.8.2-16) (GCC) )(使用cat /proc/version查询版本)


1 MySQL数据库离线安装(RPM)

1.1 下载二进制安装包

下载地址:https://dev.mysql.com/downloads/mysql/
打开官网,找到如下页面:

Mysql community server

翻到下面,按照系统版本选择:

RPM Bundle
我直接下载了第一个RPM Bundl,包含了基本上所有要用的东西。

1.2 安装

安装前先检查是否已经安装了MySQL,如果已经安装了,先将现有版本卸载:

[root@worker1 tmp]# rpm -qa|grep mysql
mysql-libs-5.1.71-1.el6.x86_64
[root@worker1 tmp]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64  //卸载

解压下载的文件:

[root@worker1 tmp]# tar -xf mysql-5.7.12-1.el6.x86_64.rpm-bundle.tar

按顺序安装以下文件:

1. rpm -ivh mysql-community-common-5.7.12-1.el6.x86_64.rpm
2. rpm -ivh mysql-community-libs-5.7.12-1.el6.x86_64.rpm
3. rpm -ivh mysql-community-devel-5.7.12-1.el6.x86_64.rpm
4. rpm -ivh mysql-community-client-5.7.12-1.el6.x86_64.rpm
5. rpm -ivh mysql-community-server-5.7.12-1.el6.x86_64.rpm

如果提示ID校验的警告,则在每一条指令后面加上--force --nodeps强制安装即可。

1.3 环境变量设置

  • 1 启动MySQL
service mysqld start 
  • 2 登录:mysql -u root -p,初次登录密码为空,直接回车:
mysql -u root -p

这里会出现一个错误。原因是因为MySQL5.7中的mysql.user 表中没有Password字段,所以要以安全方式登录,然后修改密码。
解决方法如下:
修改MySQL配置文件:vim /etc/my.cnf,在文件末尾加上:skip-grant-tables,保存后重启MySQL服务:service mysqld restart,然后重新登录。

  • 3 修改密码,用户密码是在名为mysql的database下面:
    依次执行以下指令:
mysql> use mysql
mysql> update user set password_expired='N' where user='root’;    
mysql> update user set authentication_string=password('123456') where user=‘root’;
mysql> flush privileges;

将my.cnf配置文件之前加的跳过密码检测内容去掉,重启服务;
需要注意的是,高版本的MySQL不允许设置过于简单的密码,如果报错很可能就是这个原因。

1.4 导入数据库

CREATE USER 'www'@'localhost' IDENTIFIED BY '111111';
grant all on . to 'www'@'localhost';//授权
create database sc_switchingroom;
use sc_switchingroom ;
source sc_ switchingroom.sql;

需要注意的是,高版本的MySQL不允许设置过于简单的密码,如果报错很可能就是这个原因。

2 安装MySQL Connector for C++ linux

2.1 下载安装包

下载地址:https://dev.mysql.com/downloads/connector/cpp/
像上面一个,选择对应的系统版本,下载压缩包格式的文件:

Compressed TAR Archive

2.2 安装

  • 1 解压压缩包
  • 2 复制lib
cd lib
sudo cp * /usr/lib/
  • 3 复制include
cd include
sudo cp -r * /usr/include/
  • 4 使设置生效
cd /etc/ 
sudo ldconfig

这里可能会提示libmysqlcppconn.so.7相关的错误。
解决的办法是重新定位软连接:

ln -sf libmysqlcppconn.so.7.1.1.9 libmysqlcppconn.so.7

3 定位MySQL库文件所在位置

mysql_config --libs

这个在编译程序的时候会用得到,因为会发生libmysqlclient.so.20找不到的情况,这个时候需要指定该目录。

4 boost安装

参考Boost.Asio——(1)安装及配置
不同的是:
第一步,执行sudo ./bootstrap.sh
第二步相同,我编译了所有库,执行:sudo ./bjam
注意可能需要添加给文件可执行权限,可以直接右键在属性中修改。

相关文章

网友评论

      本文标题:RedHat7离线部署

      本文链接:https://www.haomeiwen.com/subject/kjnjaxtx.html