小编给大家分享一下mysql审核平台yearning及inception如何安装,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
#粗糙的文档
#安装目录在/usr/local下面
#yearning安装包 因为太大 附件无法存放 所以我放在自己的126邮箱了
nginx安装
yum install nginx -y
inception安装
yum -y install cmake libncurses5-dev libssl-dev g++ bison gcc gcc-c++ openssl-devel ncurses-devel mysql MySQL-python
wget http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz
tar -zxvf bison-2.5.1.tar.gz
cd bison-2.5.1
./configure
make
make install
cd /usr/local/
wget https://github.com/myide/inception/archive/master.zip
unzip master.zip
cd inception-master/
sh inception_build.sh builddir linux
启动服务
nohup /usr/local/inception-master/builddir/mysql/bin/Inception --defaults-file=/etc/inc.cnf &
登录inception
mysql -uroot -h227.0.0.1 -P6669
测试inception是否安装成功
inception get variables;
-----------------------
安装python 3.6
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
tar -xvf Python-3.6.4.tar.xz
mkdir -p /usr/local/python/3.6.4/lib
cd Python-3.6.4
./configure --enable-shared --prefix=/usr/local/python/3.6.4 LDFLAGS="-Wl,-rpath /usr/local/python/3.6.4/lib"
make
make install
cp /usr/bin/python /usr/bin/python2.6.6
ln -fs /usr/local/python/3.6.4/bin/python3.6 /usr/bin/python
ln -fs /usr/local/python/3.6.4/bin/pip3 /usr/bin/pip
vi /usr/bin/yum
将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6.6
-----------------------
yearning安装
进入mysql 执行建库语句 创建库Yearning
create database Yearning DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
安装此版本压缩包
Yearning-1.1.2-release.tar.gz(暂时存放在152环境/usr/local/下面)
#yearning安装包 因为太大 附件无法存放 所以我放在自己的126邮箱了
不要用最新的版本 如下命令下载的是最新的压缩包(需要docker安装不适用)
git clone https://github.com/cookieY/Yearning.git
cd Yearning/src
pip install -r requirements.txt
python manage.py makemigrations
python manage.py migrate
添加初始化用户
echo "from core.models import Account;Account.objects.create_user(username='admin', password='Yearning_admin', group='admin',is_staff=1)" | python manage.py shell #添加初始化用户
echo "from core.models import grained;grained.objects.get_or_create(username='admin', permissions={'person': [], 'ddl': '1', 'ddlcon': [], 'dml': '1', 'dmlcon': [], 'dic': '1', 'diccon': [], 'dicedit': '0', 'user': '1', 'base': '1', 'dicexport': '0', 'query': '1', 'querycon': []})" | python manage.py shell #初始化权限
-----下面这个有可能 运行不了。。。可以忽略 没关系
echo "from core.models import globalpermissions; globalpermissions.objects.get_or_create(authorization='global', inception={'host': '', 'port': '', 'user': '', 'password': '', 'back_host': '', 'back_port': '', 'back_user': '', 'back_password': ''}, ldap={'type': '', 'host': '', 'sc': '', 'domain': '', 'user': '', 'password': ''}, message={'webhook': '', 'smtp_host': '', 'smtp_port': '', 'user': '', 'password': '', 'to_user': '', 'mail': False, 'ding': False}, other={'limit': '', 'con_room': ['AWS', 'Aliyun', 'Own', 'Other'], 'foce': '', 'multi': False, 'query': False, 'sensitive_list': [], 'sensitive': ''})" | python manage.py shell #初始化动态配置信息
cd Yearning/webpage/dist
cp -rf * /usr/share/nginx/html/
service nginx restart
cd Yearning/src
python manage.py runserver 0.0.0.0:8000
-------------------
下面是有可能出现的错误
有可能会出现如下错误
网络连接https://blog.csdn.net/zoulonglong/article/details/79552813
python3.6 错误: ModuleNotFoundError:No module named "Crypto"
原因及处理:
在使用python是经常会用到import一个第三方库,但是有时候会提示某个模块不存在,如Crypto
其实是因为Python3里面这个模块的名字变了,
pip install pycrypto试试
安装成功后,如果还是提示没有该模块,那就python3的安装目录Lib—-site-package中查看是否有Crypto文件夹,这时你应该看到有crypto文件夹,将其重命名为Crypto即可
如果又出现另一个提示说没有Crypto.Cipher,“ModuleNotFoundError:No module named ‘Crypto.Cipher’”,那就去Crypto文件夹下看,是否存在Cipher文件夹,这时你会发现,咦,不存在,看第4步
这时你需要卸载pycrypto,pip uninstall pycrypto,然后安装pycryptodome,pip install pycryptodome,即可
有可能出现如下错误
网络连接https://blog.csdn.net/dearmark/article/details/78208051
ValueError: invalid literal for int() with base 10: 'Inception2'
原因如下
由于Inception 并不原生支持pymysql,所以需更改pymysql相关源码 注: 在install 文件夹下已经修改的connections.py 和 cursors.py 直接替换即可
connections.py
cursors.py
查找pymysql源码修改connections.py文件
找到1107行
def _request_authentication(self):
# https://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeResponse
if int(self.server_version.split('.', 1)[0]) >= 5:
self.client_flag |= CLIENT.MULTI_RESULTS
修改为
def _request_authentication(self):
# https://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeResponse
try:
if int(self.server_version.split('.', 1)[0]) >= 5:
self.client_flag |= CLIENT.MULTI_RESULTS
except:
if self.server_version.split('.', 1)[0] == 'Inception2':
self.client_flag |= CLIENT.MULTI_RESULTS
查找 pymysql 源码修改 cursors.py文件
找到346行
if self._result and (self._result.has_next or not self._result.warning_count):
return
修改为
if self._result:
return
以上是“mysql审核平台yearning及inception如何安装”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!