酷酷娱乐网

站内广告

mysql审核平台yearning及inception安装

时间:2020-09-24 03:30:01   作者:酷酷娱乐网   来源:www.kukuyl.com  
内容摘要:


#粗糙的文档




#安装目录在/usr/local下面














#yearning安装包......

#粗糙的文档

#安装目录在/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 -h127.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









本文章url:https://www.kukuyl.com/new/30000894.html

相关文章

CopyRight 2018 - 2020 http://www.kukuyl.com 酷酷娱乐网 All Rights Reserved .