新装的MySQL登陆提示:Access denied for user 'root'@'localhost' (using password:YES)
解决方案:
杀掉MySQL进程,ps -ef|grep mysqld 。如果杀不掉,那就是有守护进程,可以在系统设置里找mysql
执行下面两行指令:
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql -u root mysql
进入到mysql控制台,执行重置密码:UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
ALTER user 'root' IDENTIFIED BY '111';
如果不行,就退出,执行mysql_secure_installation
可以参考这篇文章:https://www.cnblogs.com/walkerr/p/7289388.html
mysql.server stop
mysql.server start 重启一下试试。。
新建用户无法创建数据库:
新版本的mysql把创建用户和授权分开了,
创建账户:create user ‘用户名’@’访问主机’ identified by ‘密码’;
授权:grant all privileges on . to 'connor'@'%' with grant option;
flush privileges;
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' ;
最后的办法:跳过密码授权:
1.关闭mysql的服务,在系统偏好设置中,找到mysql,点击,stop
2,将电脑使用者权限升级为超级管理员权限:sudo su
3,打开终端,输入:cd /usr/local/mysql/bin/
4,输入命令,来禁止mysql的身份验证:./mysqld_safe --skip-grant-tables &
5,回车之后,mysql的服务会自动重启,到时候直接双击mysql链接就可以打开了
连接Mysql时出现java.math.BigInteger cannot be cast to java.lang.Long问题
今天遇见这样一个坑。在连接数据库进行查询数据时,大家可能会遇见这样一个问题:java.math.BigInteger cannot be cast to java.lang.Long,然后去检查代码中的类型为Long,接着检查数据表中字段的类型为bigint,按道理类型是匹配的啊,那么问题到底出现在哪儿呢?
如果出现以上问题,大家就应该注意了,是不是数据库版本与mysql-connector.jar包的版本不兼容造成的。本人用的是Mysql8.0.12免安装版本,出现问题时的jar包版本为5.1.26,更换为5.1.47后解决了该问题。希望能够帮助到遇到这类问题的朋友。