host is not allowed to connect to this MySQL server
进入mysql服务(username你自己的用户名,password你自己的密码):
mysql -uusername -ppassword
查询用户及对应链接权限:
select host,user,plugin from mysql.user;
修改root用户的链接权限为%:
update mysql.user set host='%' where user='root';
flush privileges;
group by语句报错
找到mysql的配置文件。
vim /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]节点下,加入一行:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
重启mysql服务:
service mysql restart
mysql删除表时报错
在删除表时,提示表不存在。这时可以直接去文件中删除
cd /var/lib/mysql/
然后通过rm指令删除你想要删除的库或表
win下mysql5.7 修改root账号密码,创建新账号
查询账号相关信息
-- 登录mysql
mysql -uroot -p
use user;
-- 查询用户表的主要信息
SELECT user,host,`plugin`,authentication_string FROM `user`;
修改指定账户密码(修改之后重启mysql服务)
UPDATE user SET authentication_string = PASSWORD ('新密码'),password_last_changed = now() WHERE user = 'root';
FLUSH PRIVILEGES;
创建新用户(CREATE USER ‘用户名’@‘主机名’ IDENTIFIED BY ‘密码’)
CREATE USER 'test'@'%' IDENTIFIED BY '123456';
给指定用户授权(GRANT 权限列表 ON 数据库名.表名 TO ‘用户名’@‘主机名’)
GRANT SELECT, INSERT, UPDATE, DELETE ON testdb.* TO 'test'@'%';
撤销授权(REVOKE 权限列表 ON 数据库名.表名 FROM ‘用户名’@‘主机名’)
REVOKE SELECT, INSERT, UPDATE, DELETE ON testdb.* FROM 'test'@'%';