Linux CentOS6.5上搭建环境遇到的问题
Posted 听歌敲代码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux CentOS6.5上搭建环境遇到的问题相关的知识,希望对你有一定的参考价值。
1.卸载CentOS自带的JDK
查看centos上 安装的jdk:rpm -qa|grep jdk
出现如下:
java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
需要卸载centos上自带的jdk,卸载方法:
rpm -e --nodeps ava-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
2.安装mysql警告
warning: MySQL-server-5.6.36-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
原因:这是由于yum安装了旧版本的GPG keys造成的
解决办法:后面加上 --force --nodeps 如:
rpm -ivh MySQL-server-5.6.36-1.el6.x86_64.rpm --force --nodeps, 从RPM 版本4.1开始,在安装或升级软件包时会检查软件包的签名。
安装MySQL命令(根据自己需要的MySQL版本安装,这里用的5.6.36):
rpm -ivh MySQL-server-5.6.36-1.el6.x86_64.rpm --force --nodeps
rpm -ivh MySQL-devel-5.6.36-1.el6.x86_64.rpm --force --nodeps
rpm -ivh MySQL-client-5.6.36-1.el6.x86_64.rpm --force --nodeps
3.登录MySQL后,输入密码之后报错
MySQL ERROR 1045 (28000): Access denied for user \'root\'@\'localhost\' (using password: NO)
在MySQL的安装日志信息中,会看到MySQL生成了root用户的随机密码,并将这个随机密码放置在/root/.mysql_secret中。
Mysql 5.6及以后版本出处于安全考虑,root密码不为空。所以在MySQL的安装过程中,会生成一个随机密码,并且强制在第一次登陆时修改root用户的密码。
vim /root/.mysql_secret,出现如下:
# The random password set for the root user at Fri Sep 29 08:13:21 2017 (local time): x2M7yWaA2v1sLFSw
随机密码即为 x2M7yWaA2v1sLFSw,使用这个登录MySQL。
4.安装完mysql 登录进去,出现
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
强制第一次登录进去的时候需要修改root用户的密码
mysql> set password=password(\'xbq2017\'); Query OK, 0 rows affected (0.01 sec)
5.在Linux中MySQL默认:区分表名的大小写,不区分列名的大小写。怎么忽略表名的大小写呢?
用root帐号登录后,在/etc/my.cnf或者安装目录/my.cnf中的[mysqld]后添加添加 lower_case_table_names=1,重启MYSQL服务,这时已设置成功,不区分表名的大小写。
lower_case_table_names参数详解:lower_case_table_names=0,其中0:区分大小写,1:不区分大小写。
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
MySQL在Windows下都不区分大小写。
6.进入到tomcat的bin目录下,按Tab键没有提示,直接全部输入启动命令的时候,会出现没有权限,如下:
./startup.sh
-bash: ./startup.sh: Permission denied
解决方法:
tomcat文件夹整个授权:chmod -R 777 *
7.org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 54;
org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 54; schema_reference.4: Failed to read schema document \'http://www.springframework.org/schema/beans/spring-beans-4.0.xsd\', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
原因:没有正确的添加命名空间,项目中用的spring3.X,但是 命名空间上写的sring4.0,在本地测试 项目可以正常启动(因为本地maven仓库中已经存在spring4.X的jar包),但是放到 服务器上就出现上面的错误。
8.第七个问题解决了,重新启动tomcat的时候,出现如下错误:
Unable to set localhost. This prevents creation of a GUID. Cause was: xbq: xbq: Name or service not known
原因:
是由于修改主机名引起的
解决办法:
直接修改linux的/etc目录下的hosts文件即可,vim /etc/hosts。修改内容 在127.0.0.1 的后面添加上你修改的主机名即可。例如: 127.0.0.1 xbq
9.本地连接服务器上的MySQL服务,出现:Host is not allowed to connect to this MySQL server。
网上有多种解决方法,可参考:http://www.cnblogs.com/xyzdw/archive/2011/08/11/2135227.html。
我的解决方法使用了 第三种,
1、mysql -u root -p // 进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'%\' WITH GRANT OPTION; //赋予任何主机访问数据的权限
3、mysql>FLUSH PRIVILEGES; // 修改生效
4、mysql>EXIT // 退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录了
10. Your password has expired
服务器断电重启后,使用MySQL客户端可以正常连接MySQL服务,但是在web项目中 连接就会报如下错误:
Your password has expired. To log in you must change it using a client that supports expired passwords.
解决方法:
mysql -uroot -p --port=33999
Enter password: 输入密码。即可进入,然后重置密码
set password=password(\'xbq123456\');
以上是关于Linux CentOS6.5上搭建环境遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章
Centos6.5和Centos7 php环境搭建如何实现呢