故障重现:(之前安装所需的步骤在此不一一详述)
[root@localhost install]# python install.py
开始写入配置文件
开始安装Jumpserver ...
开始更新jumpserver
Creating tables ...
Traceback (most recent call last):
........
出现如下错误:
django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xE6\\x9C\\xBA\\xE6\\x88\\xBF' for column 'name' at row 1")
问题根源:网上查找同类问题,应该是mysql数据编码的问题,django连接的数据库编码字符集要求utf8,不然报错
解决方法:
打开mysql数据库的配置文件
[root@localhost ~]# cat /etc/my.cnf
[mysqld]
.......
#在mysqld模块下增加以下两个参数
character_set_server=utf8
init_connect='SET NAMES utf8'
[root@localhost ~]# /etc/init.d/mysqld restart
注意:新版MySQL(如:5.5)或MariaDB等,mysqld启动时可能会遇到“[ERROR] /usr/libexec/mysqld: unknown variable ‘default_character_set=utf8’”的错误;就应该在[mysqld]中用 character_set_server=utf8 替换掉 default_character_set=utf8
2.删除原来创建的jumpsrvice问题数据库
3.再打开mysql数据库创建django连接的数据库
[root@localhost ~]# mysql -uxxxx -pxxxxxx
mysql> show variables like'character%'; //运行这语句查看一下character_set_database参数是否utf8
mysql> set character_set_database=utf8; //如果不是utf8,运行此语句设置一下
+--------------------------+----------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/charsets/ |
+--------------------------+----------------------------------+
mysql> create database jumpservice; //之后就可以正常创建jumpservice数据库了
Query OK, 1 row affected (0.00 sec)
4.[root@localhost install]# python install.py //重新执行命令即可安装成功
...............
开始写入配置文件
开始安装Jumpserver ...
开始更新jumpserver
Creating tables ...
Creating table django_admin_log
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table django_content_type
Creating table django_session
Creating table setting
Creating table juser_usergroup
Creating table juser_user_group
Creating table juser_user_groups
Creating table juser_user_user_permissions
Creating table juser_user
Creating table juser_admingroup
Creating table juser_document
Creating table jasset_assetgroup
Creating table jasset_idc
Creating table jasset_asset_group
Creating table jasset_asset
Creating table jasset_assetrecord
Creating table jasset_assetalias
Creating table jperm_permlog
Creating table jperm_permsudo
Creating table jperm_permrole_sudo
Creating table jperm_permrole
Creating table jperm_permrule_asset_group
Creating table jperm_permrule_role
Creating table jperm_permrule_asset
Creating table jperm_permrule_user_group
Creating table jperm_permrule_user
Creating table jperm_permrule
Creating table jperm_permpush
Creating table jlog_log
Creating table jlog_alert
Creating table jlog_ttylog
Creating table jlog_execlog
Creating table jlog_filelog
Creating table jlog_termlog_user
Creating table jlog_termlog
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
请输入管理员用户名 [admin]:
请输入管理员密码: [5Lov@wife]:
请再次输入管理员密码: [5Lov@wife]:
Starting jumpserver service: [ 确定 ]
安装成功,Web登录请访问http://ip:8000, 祝你使用愉快。
请访问 https://github.com/jumpserver/jumpserver/wiki 查看文档
望能够帮助各位解决问题,这只是个人遇到的情况,有不同意见欢迎补充讨论。。。
编辑回复