Mysql

刚给二线运维排查了一个问题,Mysql安装完可用,且可用navicat连接,项目中通过127.0.0.1去连数据库报错了。错误是access denied for user ‘root’@localhost,排查思路

1. 密码是否正确

(不需要重置。到Mysql的安装目录下找到my.ini,在Mysqld 后添加skip-grant-tables,这样可不用密码登陆。eg: mysql -uroot -p; )

1. 进入mysql安装目录,找到my.ini
2. 在[mysqld] 后面敲入:skip-grant-tables
3. 重启服务, net stop mysqld;net start msyqld
4.  通过命令进行密码修改:alter user root@'localhost' identified by 'testByZl*!1234';
5. 删除掉my.ini中添加的skip-grant-tables; 并完成mysql重启,参考3步即可

2.授权问题

数据库安装好,建完用户后,需要对用户进行权限授予,目的是让用户对数据库有一系列执行操作,包括但不限于DDL语句和SQL语句。授权通常用到下面语句

GRANT ALL PRIVILEGES ON *.* TO 'usrname'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

今天遇到的问题是第二个问题导致的。未授权,解决该问题用到的语句为

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'  IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

接下来说一下%和localhost区别
【本地主机限制】grant all privileges on . to ‘usename’@‘localhost’

【任意主机允许】grant all privileges on . to ‘usename’@‘%’
它两区别在于 第一个连接为本地主机限制,用户仅被 授权从本地主机(即Mysql所在的服务器)访问数据 库。这种限制用于提高数据库的安全性。 第二个连接%是通配符,表示用户可以从八喜何IP地址访问数据库,允许远程客户端访问数据库。

Mongo 连接报 Authentication failed

在这里插入图片描述

Mongo创建好后,也是需要给用户授权的,不然只是单独create user后访问库也会报Authentication failed。下面创建用户及授权用户大致整理如下所示:

Mongo 创建用户

use calamity
db.createUser(
  {
    user: "calamity",
    pwd: "Gq40H1%44W%44nHy",
    roles: [ { role: "readWrite", db: "calamity" }]
  }
)

mongo 授权用户

需要组当前用户授予admin库的只读权限,这样才能通过admin库进行业务库的授权。因些需要执行以下语句

db.grantRolesToUser(
    "calamity",
    [
      { role: "read", db: "admin" }
    ]
)

Mongo库restore操作

需要测试数据,导了个tar包,打开看都是bson、json 文件,需要把相应的文件copy到mongo 安装路径下的db下面,可以通过mongorestore执行。我先是把tar包解压缩了,然后将其目录下文件转成.gz文件,然后执行了mongoresote命令。分别如下所示:

1.tar 解压缩

tar -xvf calamity.tar

2. 转在gz文件

之所以有这步,是因为这前存的restore命令是针对.gz文件的,懒于重新编辑命令,所以闭着眼睛执行了这步操作

 gzip -r calamity  # calamity是解tar后的文件夹 -r 是说将其下的所有文件打成gz

3. mongorestore执行

mongorestore --uri="mongodb://calamity:Gq40H1%44W%44nHy@ip1:27017,ip2:27017,ip3:27017/?replicaSet=rs0&authSource=calamity"  -d calamity  /home/data/db --gzip

其它 mongorestoe 其它命令参考

//压缩备份
mongodump -u csms -p Sh%2523mkaJaaa11 --authenticationDatabase csms -d csms -o /home/backup --gzip
mongodump -u csms -p csms --authenticationDatabase csms -d csms -c  zl.position_history_202212 -o /home/backup --gzip

//恢复还原
mongorestore -u csms -p Sh%2523mkaJaaa11 --authenticationDatabase csms -d csms  /home/backup/csms --gzip
mongorestore --uri="mongodb://admin:Sh%2523mkaJaaa11 @192.168.1.1:27027192.168.1.12:27027,192.168.1.13:27027/?authSource=admin&replicaSet=dev_rs0" -d csms_lgyz  /home/backup/csms --gzip
mongorestore --uri="mongodb://admin:Sh%2523mkaJaaa11 @192.168.1.1:27027192.168.1.12:27027,192.168.1.13:27027/?authSource=admin&replicaSet=dev_rs0" -d csms_lgyz -c cmss.analog_minute_his_202307  /home/backup/csms/cmss.analog_minute_his_202307.bson.gz --gzip

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部