首先巩固下自己已经遗忘了一年的Mysql数据库和navicat可视化数据库,安装数据库没有具体要求直接点下一步就好,我第一次安装提示服务器名无效,后来发现了原因,mysql服务压根没有启动,也就是更直白地说,压根没安装,重新操作一遍。Ok,然后安装使用navicat连接mysql,读取公司提供的sql文件,又出现了问题,sql文件读取不了,其中需要给root设置最高权限,*这个sql文件提供了需要的表结构,如下
DROP TABLE IF EXISTS `acs_autoauthorized`;
CREATE TABLE `acs_autoauthorized` (
`id` int(4) unsigned NOT NULL AUTO_INCREMENT,
`attachid` varchar(10) COLLATE utf8_bin DEFAULT NULL,
`ctrlid` varchar(30) COLLATE utf8_bin DEFAULT NULL,
`resourceid` varchar(20) COLLATE utf8_bin DEFAULT NULL,
`data` varchar(200) COLLATE utf8_bin DEFAULT NULL,
`userid` int(3) DEFAULT NULL,
`times` datetime DEFAULT NULL,
`rwtype` int(1) DEFAULT NULL,
`subindex` int(1) DEFAULT NULL,
`type` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '用户操作,授权,挂失,解挂等',
`operator` varchar(30) COLLATE utf8_bin DEFAULT NULL,
`description` varchar(200) COLLATE utf8_bin DEFAULT NULL,
`pcid` varchar(50) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx` (`attachid`,`pcid`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
其中在
`data` varchar(200) COLLATE utf8_bin DEFAULT NULL,
报错,无法创建表结构,编码没有问题都是使用的utf-8编码,之后直接复制的sql语句,在navicat中跑了一遍,有几个主键
1062 - Duplicate entry '0802000A' for key 'PRIMARY'
重新导入两边还是不行
尝试了一些方法:
1、数据表部分字段属性丢失 ALTER TABLE `cdb_posts` CHANGE `pid` `pid` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT
2、repair table cdb_posts
均失败!
最后的解决方法:
一般是因为数据表文件损害导致,可用MySQL的修复工具myisamchk 工具修复。
cmd
myisamchk cdb_posts.myi -r
修复数据表就OK了!
我的数据库是mysql5.5提示没有posts.myi,最后一种方法没法试
妈蛋,最后解决方法,卸载重新安装一遍,细心,细心,细心
https://blog.csdn.net/lyf08600231/article/details/20901079