mysql 数据库权限问题,及解决方案

以前用mysql 数据库直接安装后用root 用户,就可以在命令行登录,也可以通过远程操作,自从mysql被oracle收购后,发现权限可能比以前更加细致了,安装环境Win 7 x64,mysql 版本Server version: 5.5.32 MySQL Community Server (GPL) ,安装过后,发现只能从本地登录,而不能通过远程访问,后来在网上找资料,发现说把mysql 数据库中root 用户的host改为% 并且执行

FLUSH PRIVILEGES;

执行过后,果然发现可以远程登录了,但是本地用localhost登录的时候,或者用127.0.0.1登录的是却又发现登录不了,查询数据mysql中user的权限发现 root 用户有三个一个linux系统下的,这个可以不考虑,剩下两个相同用户名的权限不一样,而且一个有密码,另一个无密码,经过测试

UPDATE USER SET select_priv=‘Y‘ ,Insert_priv=‘Y‘,Update_priv=‘Y‘,Delete_priv=‘Y‘,Create_priv=‘Y‘,Drop_priv=‘Y‘

,Reload_priv=‘Y‘,Shutdown_priv=‘Y‘,Process_priv=‘Y‘,File_priv=‘Y‘,Grant_priv=‘Y‘,References_priv=‘Y‘,

Index_priv=‘Y‘,alter_priv=‘Y‘,show_db_priv=‘Y‘,super_priv=‘Y‘,Create_tmp_table_priv=‘Y‘,Lock_tables_priv=‘Y‘,

Execute_priv=‘Y‘,Repl_slave_priv=‘Y‘,Repl_client_priv=‘Y‘,create_view_priv=‘Y‘,Show_view_priv=‘Y‘,create_routine_priv=‘Y‘,

Alter_routine_priv=‘Y‘,Create_user_priv=‘Y‘,event_priv=‘Y‘,trigger_priv=‘Y‘,Create_tablespace_priv=‘Y‘

WHERE HOST=‘localhost‘ AND USER=‘root‘

UPDATE USER SET PASSWORD=‘*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B‘  WHERE HOST=‘localhost‘ AND USER=‘root‘

FLUSH PRIVILEGES;

发现可以用locahost登录了,至此对mysql数据的权限进一步深入的理解。

时间: 2024-11-08 09:33:38

mysql 数据库权限问题,及解决方案的相关文章

Emoji表情符号录入MySQL数据库报错的解决方案

前言:手机app应用评论的时候,恢复表情符号,提示失败.?1,查看tomcat后台日志,核心报错信息如下:  Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x97\xF0\x9F...' for column 'CONTENT' at row 1at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)at com.mysql.

MySQL数据库权限管理

Mysql数据库的运维主要包括用户权限的设置,数据库的备份与恢复.一.授予权限GRANT 权限列表 ON 库名.表名 TO 用户名@来源地址 {IDENTIFIED BY '密码'}br/>使用GRANT语句时,需要注意的事项如下.1.权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔2.库名.表名:用于指定授权操作的库和表的名称3.用户名@来源地址:用于指定用户名称和允许访问的客户机地址4.IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串 二.查看权限SHOW G

linux 中 root用户登入mysql数据库权限受限

今天发现一个奇怪问题,root用户登入mysql数据库突然变得权限受限制了,没有权限mysql库 我的解决办法是在my.cnf配置文件内增加一条 ship-grant 免密码使用root账户登入数据库,发现可以查看到所有的数据库了,这时在重新设置下root账户的权限 grant all on *.* to 'root'@'localhost' identified by 'password'; 退出mysql 取消#skip-grant 然后重启mysql服务 ,再次用root登入mysql一切

window下用主机名登录MySQL数据库出现报错解决方案

分享一个工作中的小案例:windows主机上用SQLyog使用主机名登录MySQL数据库(Linux系统上搭建),结果报错,因为经常在windows上使用主机名互相访问资源.远程登录等.以为Linux上应该也可以,所以就开始研究.通过查找资料及多方帮助终于解决并搞清楚原因.希望大家不要重蹈覆辙. 故障:在windows服务器上使用主机名登录MySQL出现以下报错,主机名"test-aa-shop1" ping不通,但是对应的IP可以ping通. 故障分析:windows之间可以用主机名

ubuntu MySQL数据库输入中文乱码 解决方案

一.登录MySQL查看用SHOW VARIABLES LIKE 'character%';下字符集,显示如下:+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| character_set_client | utf8 || character_set_connectio

MySQL数据库权限操作

操作对象: 线上和测试所有MySQL Plus数据库 创建用户: create user 'testname'@'%' identified by '123456'; 查看testname用户的权限 show grants for testname; testname用户授权: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX,ALTER,SHOW DATABASES, C

mysql数据库权限

use mysql select * from user \G; UPDATE user set password=PASSWORD('root') where user='root' grant all on *.* to root@'%' Identified by 'root' 上次设置了密码发现不起作用,原来忘了一步很重要的,就是  flush privileges;­ mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访

关于JAVA插入Mysql数据库中文乱码问题解决方案

方案一:在创建client的时候,指定使用的编码方式  具体如下: conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bbs?useUnicode=true&characterEncoding=GBK", "root", "");

MySql数据库中乱码问题解决方案

show variables like 'character%';    //查看当前各系统位置的字符编码格式 问题一: Incorrect string value: '\xB4\xF3\xB4\xF3' for column 'name' 解决方式:执行插入语句前,先执行set names gbk; 解决方式二: 找到my.ini文件,将CLIENT SECTION 和 SERVER SECTION 部分都设置为latin1 而在创建数据库.表.字段都设置为utf8,然后插入中文就没有问题