From d28ae681015dbbc3aa3f52a6a3a62ba499a0c73a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Wed, 14 Aug 2024 19:32:36 +0800 Subject: [PATCH] 'commit' --- .../7、Mysql数据库下载与还原.md | 59 +++++++++++++++---- 1 file changed, 46 insertions(+), 13 deletions(-) diff --git a/操作文档/7、Mysql数据库下载与还原.md b/操作文档/7、Mysql数据库下载与还原.md index 1ba8d55..17d31a4 100644 --- a/操作文档/7、Mysql数据库下载与还原.md +++ b/操作文档/7、Mysql数据库下载与还原.md @@ -124,32 +124,65 @@ sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ socket=/tmp/mysql.sock ``` -#### 启动 -```shell -/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/var/mysql_bkdata/ & -``` -#### 登录数据库 +#### 启动$Mysql$ ```shell -/usr/local/mysql/bin/mysql -uroot +/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/var/mysql_bkdata/& ``` +#### 进入$Mysql$ +```shell +/etc/init.d/mysqld stop +mysqld_safe --user=mysql --skip-grant-tables --skip-networking & +mysql +``` +**删除多余的触发器** - +```sql +mysql> select trigger_schema,trigger_name from information_schema.triggers; ++----------------+----------------------------+ +| trigger_schema | trigger_name | ++----------------+----------------------------+ +| sys | sys_config_insert_set_user | +| sys | sys_config_update_set_user | ++----------------+----------------------------+ +2 rows in set (0.02 sec) - +有两个没有删除掉的触发器,会导致后面的修改密码失败, - +找到自己数据恢复的目录,查找以“.trg”为结尾的触发器文件,这里数据恢复目录为/var/mysql_bkdata/,执行find查找口令: -**上面基本完成数据的恢复。考虑到恢复完成后,表mysql.user中不包含在RDS实例中创建的用户,需要新建。在新建用户前,执行如下命令** +find /var/mysql_bkdata/ -iname *.trg -**delete from mysql.db where user<>'root' and char_length(user)>0;** +rm -rf /var/mysql_bkdata/mysql/user.TRG +rm -rf /var/mysql_bkdata/mysql/proxies_priv.TRG +``` -**delete from mysql.tables_priv where user<>'root' and char_length(user)>0;** +#### 授权与创建用户 + + ```sql + 退出Mysql,重新登录进来,切换到mysql.user表,重新更新密码 + + update mysql.user set authentication_string=PASSWORD("DsideaL147258369") where user='root' and host='localhost'; + + flush privileges; + + GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'DsideaL147258369' WITH GRANT OPTION; + + flush privileges; + exit + + /etc/init.d/mysqld restart + mysql -uroot -pDsideaL147258369 + + # 添加上项目中的ycharge用户 + CREATE USER 'ycharge'@'localhost' IDENTIFIED BY 'ycharge'; + GRANT ALL PRIVILEGES ON *.* TO 'ycharge'@'%'IDENTIFIED BY 'ycharge' WITH GRANT OPTION; + flush privileges; + ``` -**flush privileges;**