CentOS7中ESL服务部署记录

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在CentOS7上部署价签系统,需要安装Mysql,Redis,emqtt,jdk。

1)Mysql,参考

注:修改/etc/my.cnf, 在[mysqld]下添加

character_set_server=utf8

重启Mysql

service mysqld restart

重启没有反应的话,ctrl +c取消后,可以查看错误日志 /var/log/mysqld.log(具体位置根据my.cnf中的配置),一般是由于参数配置错误导致, 如:

2)Redis,参考

注:需要将Redis配置为需要密码访问,修改redis.conf,将requirepass配置为需要的密码,重启redis.

CentOS7中ESL服务部署记录_第1张图片

为方便其他客户端连接,注释bind

3)emqtt,参考

4)jdk,参考

在jdk的下载地址中,下载rpm文件,通过ftp上传到虚拟机后,通过rpm的方式进行安装。

 

服务的rpm基本安装模式:

wget 获取rpm安装包,

rpm -ivh *.rpm

yum install <依赖包名称>

操作服务:systemctl start|stop|restart|status *d.service 或者 service *d start|stop|restart|status

 

ESL系统部署完成之后,接口调用异常,查看日志发现:

在数据库中存在user表,同样的应用程序,同样的数据库表,在其他环境中并没有这个问题,怀疑是Mysql的系统设置问题。经过搜索,果然发现Mysql会通过参数lower_case_table_names来设置数据库表是否是大小写敏感,登录Mysql,通过

show variables like "%case%";

CentOS7中ESL服务部署记录_第2张图片

发现lower_case_table_names的值为0,根据参考,0的意思是区分大小写,需要将其值改为1。

找到Mysql的配置文件,通过:

mysqladmin | grep -A 1 'Default options'

打开/etc/my.cnf,发现其内容如:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

需要将lower_case_table_names=1添加到该文件中,这里有个巨坑!因为几乎所有的百度搜索结果都说只要将这句话添加到该文件,或者添加到文件末尾。一开始我也是添加到末尾,但是这种情况下不管如何重启,这个修改始终不起效果,经过两个小时的折腾,突然发现my.cnf文件其实是分结构的,通过[]分成了两个部分[mysqld],[mysqld_safe]!需要将参数修改添加到[mysqld]之后!!如:

[mysqld]
#注意位置
lower_case_table_names=1

[mysqld_safe]

重启Mysql:

再次登录查询:

CentOS7中ESL服务部署记录_第3张图片

参数修改成功!

转载于:https://my.oschina.net/u/4042451/blog/3042234

你可能感兴趣的:(CentOS7中ESL服务部署记录)