mysql常见问题处理
安装及常用的一些操作不会的话,可参照:
https://www.cnblogs.com/wanggang2016/p/10425780.html
一、mysql "select command denied to user root"
出现这种情况是因为用户未授予对某数据库/所有数据库的控制权限:
1、可直接通过命令解决:
①执行命令:这里Temp是我建立的一个数据库名称,test是用户账号,将Temp数据库的所有权限赋予test用户
GRANT ALL PRIVILEGES ON Temp.* TO 'test'@'%';
GRANT privileges ON databasename.tablename TO ‘username’@‘host’
privileges:表示要授予什么权力,例如可以有 select , insert ,delete,update等,如果要授予全部权力,则填 ALL
databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 *.*,*是一个通配符,表示全部。
’username‘@‘host’:表示授权给哪个用户。
②执行命令:flush privileges;
执行这个命令的原因是,需要将新加入的用户写入到权限表中,即更新grant table
2、通过root账号登录,查看user表,直接修改user表中的权限也可以
这里我使用的工具是NavicatforMySQL
二、System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xx
xx-xxxx-xxxx-xxxxxxxxxxxx).
通过代码获取Mysql数据记录时,报错
MySql 没有原生的 Guid 类型,一般使用 binary(16) 或者 char(36) 这两个类型。当你的数据库中定义了char(36)时,默认即认为数据类型为Guid类型,当你的数据库中恰巧使用了 char(36) 这个类型
且这个字段存了不是合法 Guid 格式的字符值(中间用短横线隔开的 32 个数字 ,即 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx),那么你的程序就会报错。
这里因为是测试数据,我直接将不符合Guid格式的数据删除了
可参考:https://www.cnblogs.com/tigerjacky/p/1901853.html
三、Can't connect to MySQL server on localhost (10061)
出现这种情况,第一种很明显的是因为Mysql服务未开启,开启就行了;
另外,当mysql服务端口号发生修改时,需要指定端口登录,否则会登录失败。