首页 新闻 会员 周边 捐助

win10 环境mysql5.6 备份问题

0
[已解决问题] 解决于 2022-04-15 23:34

这几天公司要求对上线项目做自动化备份要求,遇到了一些问题,要望:拜托给点建议。
以下是我的脚本:

报错信息:

结果验证:sql文件虽然存在,但是没有数据

问题补充:

test账户已经映射为最高权限

少年Dev的主页 少年Dev | 初学一级 | 园豆:146
提问于:2021-10-26 10:47
< >
分享
最佳答案
0

从截图报错信息看,还是test用户权限的问题,直接使用test用户登录mysql可以登录成功吗,参数与你脚本里面的信息保持一致

奖励园豆:5
regis_code | 菜鸟二级 |园豆:207 | 2021-10-27 15:40

可以登录,dos窗口可以备份成功,写进脚本就报权限错误。

少年Dev | 园豆:146 (初学一级) | 2021-10-27 15:42

问题找到了,数据库密码太复杂,这个如何解决?项目对密码有要求,必须复杂点。

少年Dev | 园豆:146 (初学一级) | 2021-10-28 09:19

@少年Dev: 只要没有windows下的特殊字符密码,都可以识别吧, ”&”字符不可以使用,其余的可以试一下,

你们mysql服务器是运行在windows下吗?我们项目密码之类的都在配置文件里面,直接读取配置文件里的用户、密码等信息,密码也包含一些特殊字符,但是没遇到过你说的这种情况

regis_code | 园豆:207 (菜鸟二级) | 2021-10-28 09:43

@regis_code: 是windows环境mysql版本5.6
密码是qwert12345!@#¥%
但是识别不了
你们是写在my.ini文件吗?

少年Dev | 园豆:146 (初学一级) | 2021-10-28 09:59

@regis_code:dos可以识别,是mysql的问题

少年Dev | 园豆:146 (初学一级) | 2021-10-28 10:52

@少年Dev: 是使用.ini的文件
我在ubuntu服务器上做了个测试,使用英文的!, 会报错,需要在密码上增加单引号方可正常登录;
具体的操作

使用中文的感叹号 ! 不会报错,增加单引号和不增加单引号都可以正常登录

可以试着增加单引号试试,另外mysql密码及权限管理是有精确匹配的,不确定是不是这方面引起的。

regis_code | 园豆:207 (菜鸟二级) | 2021-10-28 10:54

@regis_code: windows环境登陆没问题,但是不能键入明文密码。初步估计是安装mysql的时候对密码安全策略做了修改,不过现在忘记怎么改回了,你说的配置my.ini文件也测试了,配置了不生效,具体原因不清。

少年Dev | 园豆:146 (初学一级) | 2021-10-28 11:14

@少年Dev: -p后面直接接密码,不能有空格

regis_code | 园豆:207 (菜鸟二级) | 2021-10-28 11:16

@regis_code: 那脚本里面是不是也不要空格

少年Dev | 园豆:146 (初学一级) | 2021-10-28 11:23

@regis_code: 查看了脚本里面没有空格,

少年Dev | 园豆:146 (初学一级) | 2021-10-28 11:24

@少年Dev: 先在命令行下,完整的输入你备份的命令,密码用单引号括起来,然后在测试脚本

regis_code | 园豆:207 (菜鸟二级) | 2021-10-28 11:28

@regis_code:
dos窗口手动备份没问题

少年Dev | 园豆:146 (初学一级) | 2021-10-28 11:30

@少年Dev: 命令行直接运行增加过-h的参数吗?按脚本里面的命令,除了替换参数,其他的都保持不变可以吗

regis_code | 园豆:207 (菜鸟二级) | 2021-10-28 11:51

@regis_code: 也没问题呀

少年Dev | 园豆:146 (初学一级) | 2021-10-28 12:00

@少年Dev: 查下用户信息看下吧
select user,host from mysql.user;

regis_code | 园豆:207 (菜鸟二级) | 2021-10-28 12:05

@regis_code:

少年Dev | 园豆:146 (初学一级) | 2021-10-28 12:07

@少年Dev: 脚本里面-h后增加的参数是127.0.0.1,你命令行里面用的是localhost,其实是有区别的,试一下改成127.0.0.1可以不,如果也可以我就没什么思路了....

regis_code | 园豆:207 (菜鸟二级) | 2021-10-28 12:13

@regis_code: 这个思路之前也测试过了.改成127.0.0.1或者本机IP地址都不行.

少年Dev | 园豆:146 (初学一级) | 2021-10-28 12:14

@少年Dev: 这个是我使用-hlocalhost 登录和-h127.0.0.1登录的区别,主机hosts已经127.0.0.1与localhost的映射关系

regis_code | 园豆:207 (菜鸟二级) | 2021-10-28 12:14

@少年Dev: 脚本运行也是用管理员权限运行的是吗

regis_code | 园豆:207 (菜鸟二级) | 2021-10-28 12:16

@regis_code: 对的,是管理员权限运行.问题是密码改成123456后脚本运行也是ok的.

少年Dev | 园豆:146 (初学一级) | 2021-10-28 12:20

@regis_code: GRANT ALL PRIVILEGES ON . TO 'root'@'%'IDENTIFIED BY 'root' WITH GRANT OPTION;---麻烦帮我看一下这个语句是什么含义?

少年Dev | 园豆:146 (初学一级) | 2021-10-28 14:47

@少年Dev: 将所有权限给到root用户,并支持用户root给其他用户赋权。

GRANT
ALL PRIVILEGES --所有权限
ON
. --所有库,一般我习惯. 这种写法,指的是所有库下所有表
TO 'root'@'%'IDENTIFIED BY 'root'
WITH GRANT OPTION; --使root用户有给其他用户赋权的权限

regis_code | 园豆:207 (菜鸟二级) | 2021-10-28 14:51

@少年Dev: 一般我习惯 星号.星号 这种写法,指的是所有库下所有表,上个评论星号被隐藏了

regis_code | 园豆:207 (菜鸟二级) | 2021-10-28 14:52

@regis_code:谢谢解答,不过那个语句也没用, 我用root账户执行报错同样复现.

少年Dev | 园豆:146 (初学一级) | 2021-10-28 14:55

@少年Dev:
从报错信息上看,还是连接数据库出现了问题

regis_code | 园豆:207 (菜鸟二级) | 2021-10-28 15:04

@regis_code: 应该是参数传递有问题,不识别@%,现在只能修改不带那两个参数的密码.

少年Dev | 园豆:146 (初学一级) | 2021-10-29 14:50

@regis_code: 你好,再问一下哦;下面这个报错遇到过么?

昨天备份还好好的,今天打开电脑就不行了.

少年Dev | 园豆:146 (初学一级) | 2021-11-02 10:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册