mysql出现问题汇总(持续更新)
1、mysql -uqwe -p普通用户登陆时提示:
ERROR 1045 (28000): Access denied for user 'baijie'@'%' (using password: YES),可是密码是正确的。
解决:用root权限登陆数据库。查看user表。先删除qwe有关账户。然后重新授权。授权时要授权两次:
一次:%,所有远程可登录。
一次:localhost,本机可登录。
2、select into outfile时提示:
ERROR 1045 (28000): Access denied for user 'baijie'@'%' (using password: YES)。权限问题。
解决:
grant file on *.* to rrr@192.168.0.1;
file权限是global权限,需要单独赋予。
3、load data infile出错:
导出语句:select * from bfff into outfile '/usr/local/mysql/ffffi.csv' FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '';
导入语句:LOAD DATA INFILE '/usr/local/mysql/ffffi.csv' INTO TABLE bfff(k , name) FIELDS TERMINATED BY '\t' ENCLOSED BY '';
导入一致报语句符号错误,可是检查发现也没有写错。
正确的语句:LOAD DATA INFILE '/usr/local/mysql/ffffi.csv' INTO TABLE bfff FIELDS TERMINATED BY '\t' ENCLOSED BY '' (k , name);
4、出现:mysql: command not found。
解决:
是由于mysql命令未找到或者没有权限执行导致。将mysql命令添加到/usr/bin下,或者修改visudo文件获得mysql命令。
5、mysql错误日志报错:
[ERROR] Invalid (old?) table or database name 'ffff'
查看mysql数据目录下是否有那个库名称,如果有的话就删除掉。
6、mysql错误日志报错:
[ERROR] Slave I/O for channel '': error reconnecting to master 'door@192.168.18.222:3306' - retry-time: 60 retries: 2, Error_code: 2003
这是因为从库无法定位到主库造成的,show slave status\G查看信息,排查网络、账号、防火墙等原因。
7、mysql错误日志报错:
[ERROR] Event Scheduler: [gameuser@%][game.delete_message] The user specified as a definer ('gameuser'@'%') does not exist
这是由于没有这个用户造成的,解决方法就是重新添加一个相应的用户即可。
8、mysqldump数据导入时报错:
ERROR 1418 (HY000) at line 1706: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
解决:set global log_bin_trust_function_creators=1;
9、mysqlbinlog命令导入数据是报错:
ERROR 1782 (HY000) at line 45: @@SESSION.GTID_NEXT cannot be set to ANONYMOUS when @@GLOBAL.GTID_MOD
解决:set GLOBAL GTID_MODE = OFF;
10、show engine innodb status\G出现死锁:
解决:查看是哪一张表锁住了。select * from information_schema.INNODB_LOCK_WAITS;
(1)解锁那张表:unlock tables
(2)show processlist;kill 掉进程。
11、存储过程报错,语句错误。
DECLARE的时候可以加``反引号,在CONCAT的时候,set后面是不能加的,如:
DECLAER `@a` varchar(2000);
set @a = concat();
这样写不会报错。
12、无法访问大写表名的表。
在一次修改配置后,发现无法访问到大写表名的表,是由于这个配置参数:
lower_case_table_names=1
将他去掉即可访问。