您的位置:首页 > 数据库 > MySQL

mysql启动、创建用户、建表过程中几个错误的解决方法

2014-08-09 17:06 686 查看
1.mysql启动

报错日志如下:



解决方法:

删除/var/lib/mysql目录下ibdata1、ib_logfile0、ib_logfile1三个文件,重新启动,启动日志显示如下



2.root创建新用户

(1)mysql shell报错:

ERROR 2006 (HY000): MySQL server has gone away

(2)后台报错:



解决方法:

linux shell 中执行如下命令:

mysql_upgrade -u root -p,根据提示,输入mysql 的root 密码,控制台输出如下信息:



修复完成

重新创建用户,成功。

说明:

本问题参考自:http://cnzhx.net/blog/mysql_upgrade-fix-structure-error/

(3)建表

hive元数据建表中报错如下:

ERROR Datastore.Schema (Log4JLogger.java:error(115)) - An exception was thrown while adding/validating class(es) : Specified key was too long; max key length is 767 bytes

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes

建表语句:

CREATE TABLE `SD_PARAMS`

(

`SD_ID` BIGINT NOT NULL,

`PARAM_KEY` VARCHAR(256) BINARY NOT NULL,

`PARAM_VALUE` VARCHAR(4000) BINARY NULL,

CONSTRAINT `SD_PARAMS_PK` PRIMARY KEY (`SD_ID`,`PARAM_KEY`)

) ENGINE=INNODB

解决方法:

mysql命令行执行如下语句修改对应数据库字符编码:

alter database <表所在数据库名> character set latin1

重新hive远程连接建表,成功。

另外,在mysql中修改字符集也可在表级别(table)完成,而不必修改数据库级(database)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: