Linux CentOS6.5上搭建环境遇到的问题

时间:2021-01-29 08:29:12

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');