MySQL高階管理

2022-05-05 11:42:11 字數 3511 閱讀 7062

#mysql資料庫密碼的修改

一、mysql密碼的修改與恢復

1.修改密碼

mysqladmin -u root -p123 password 456

資料庫內修改

method.first:

update mysql.user set password=password('123') where user='root' and host='localhost';

flush privileges;

method.second:

set password for root@'localhost' =password('123');

注: 此方法無序重新整理許可權

method.third:

mysql_secure_installation

注: 安全配置嚮導,會對資料庫進行簡單的優化

二、忘記mysql密碼後的恢復

1.跳過mysql安全驗證,直接mysql無密碼登入,然後進入修改密碼

/etc/init.d/mysqld  stop

mysqld_safe --skip-grant-table --user=mysql &>/dev/null &

三、如何防止mysql密碼洩露

1. 設定環境變數強制linux不記錄敏感歷史命令

臨時生效(命令列操作):histcontrol=ignorespace  然後[ root@ 001 ~] # mysql -uboy -pboy123

永久生效:

echo  ' histcontrol=inorespace ' >>/etc/bashrc   然後source生效

2. 通過history刪除命令列記錄

清空所有記錄   history  -c

刪除指定行記錄  history -d 行號

清空歷史記錄檔案  >~/.bash_history

3.把密碼寫入my.cnf 配置檔案的 [ mysqld ] 下新增 skip-grant-tables  重啟資料庫生效

四、資料庫的備份與恢復

1、單庫備份與還原

備份

mysqldump -uroot -p123456 lll>/opt/backup/lll.sql

注:此操作只備份其中的表(包括建立表的語句和資料)

還原mysql -uroot -p123 -e ' create database lll;'

mysql -uroot -p123 lll < /opt/backup/lll.sql

2.多庫備份與還原

備份

mysqldump -uroot -p123 庫名 表1 表2>/opt/backup/mysql_bak_db.sql

還原mysql -uroot -p123 庫名 3.全庫備份

mysqldump -uroot -p123 -a >/opt/backup/mysql_bak_db.sql

或mysqldump -uroot -p123 --all-databases > /opt/backup/mysql_bak_db.sql

4.還原備份

#備份lol資料庫

[root@ c6s02 ~]# mysqldump -uroot -p123456 -b lol >lol.sql

#先刪除lol資料庫

[root@ c6s02 ~]# mysql -uroot -p123456

mysql> show databases;

+--------------------+

| database |

+--------------------+

| information_schema |

| lol |

| mysql |

| performance_schema |

| test |

| wg |

+--------------------+

6 rows in set (0.00 sec)

mysql> drop database lol;

query ok, 3 rows affected (0.03 sec)

mysql> show databases;

+--------------------+

| database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| test |

| wg |

+--------------------+

5 rows in set (0.00 sec)

mysql> \q

#測試恢復並檢視

[root@ c6s02 ~]# mysql -uroot -p123456 show databases;

+--------------------+

| database |

+--------------------+

| information_schema |

| lol |

| mysql |

| performance_schema |

| test |

| wg |

+--------------------+

6 rows in set (0.00 sec)

mysql> select * from lol.hero;

+----+--------+--------+-----------+--------+

| id | 角色 | 職業 | 攻擊力 | 血量 |

+----+--------+--------+-----------+--------+

| 1 | 蠻王 | 戰士 | 200 | null |

| 2 | 狗頭 | 戰士 | 100 | null |

| 3 | 劍聖 | 戰士 | 300 | null |

+----+--------+--------+-----------+--------+

3 rows in set (0.00 sec)

(2)、method.second:

[root@ c6s02 ~]# mysql -uroot -p123456

mysql> source /root/lol.sql

仁者不憂知者不惑勇者不懼

mysql 事務管理(高階) 待續

請口述以下問題 什麼是事務到特性,具體說說你到理解 請舉乙個案例描述為什麼要用到事務 賬 事務的隔離級別 待續。a b a給b轉賬100 正常mysql流程 a賬戶b賬戶 a 100 b 100 可能情況 情況a賬戶b賬戶 第一種a 100 b 100 第二種a 100 b第三種 ab 100 第四...

mysql 事務管理(高階) 待續

請口述以下問題 什麼是事務到特性,具體說說你到理解 請舉乙個案例描述為什麼要用到事務 賬 事務的隔離級別 待續。a b a給b轉賬100 正常mysql流程 a賬戶b賬戶 a 100 b 100 可能情況 情況a賬戶b賬戶 第一種a 100 b 100 第二種a 100 b第三種 ab 100 第四...

mysql 事務管理(高階) 待續

請口述以下問題 什麼是事務到特性,具體說說你到理解 請舉乙個案例描述為什麼要用到事務 賬 事務的隔離級別 待續。a b a給b轉賬100 正常mysql流程 a賬戶b賬戶 a 100 b 100 可能情況 情況a賬戶b賬戶 第一種a 100 b 100 第二種a 100 b第三種 ab 100 第四...