mysql-高度な記事、mysqlログの分類と機能、mysqデータベースのバックアップとリカバリ~~~!

秘密を変える〜

パスワードを変更する

  • データベース外での操作
  • 方法-1
mysqladmin -uroot password 新密码
    • 方法-2
mysqladmin -uroot  -p旧密码  password 新密码
  • データベースでの操作
  • 方法-1
set  password  for  root@’loalhost’=password(123);
    • 方法-2
update mysql.user set Password=password(‘新密码’) where User=’用户名’  and Host=’主机’;

flush privileges; ライブラリを更新

パスワードを再設定する

ステップ

  1. service myslqd stop データベースを閉じる[centos6コマンド]
    mysqld_safe --skip-grant-tables 認証リストをスキップする
  2. 別の端末を直接開き、コマンドラインに入力mysqlしてデータベースログインします
  3. update mysql.user set Password=password('123') where User='root' and Host='localhost'; データベースユーザーテーブル更新ライブラリを変更する
    flush privileges;
  4. service mysqld restart mysqlを再起動します

データベースのバックアップ

  • [実際のバックアップはmysqlステートメントです]

使用されるコマンド:

mysqldump 、シェルコマンドです

パラメータを追加できます:

-u "用户"   -p "密码"  -A 全部备份  -B "指定DB"
-c "压缩"   -T "指定表"  -o "指定目录"  -t "指定并行数,默认是4"
-P 端口  -q:快速导出 -d:只导出表结构 -X:导出为xml文件
-f:即使发现sql错误,仍然继续备份  
--less-locking "尽量减少锁表锁定时间(针对InnoDB)"

-パラメータの例:

mysqldump -uroot -proot  -A > all.sql 

-Bパラメータの例:

mysql -uroot -proot -B wg > wg.sql
  • エクスポート方法-1
mysql -uroot -proot < wg.sql 
    • エクスポート方法-2
source /root/wg.sql 

指定したデータベースのテーブルをバックアップします

mysqldump -uroot -proot  mysql  user > user.sql
 数据库名 表名>盘符:\路径\文件名.sql

回復テーブル

  • ユーザーテーブルをwgデータベースにインポートします
mysql -uroot -proot wg < user.sql

ユーザーを作成

create user 用户名@'地址' identified by'密码';

手順:

  • クライアント側は ネイティブip101を実行します
create user tom@’192.168.1.102
  • サーバー側は ローカルip102を実行します
mysql -utom -h192.168.101

mysqlの高速化された操作:

  • skip_name_resolve[ドメイン名の解決をスキップ]
  • 構成ファイルを追加し、再起動して有効にします

権限

  • 一般的な権限は次のとおりです。
  • create drop insert select update delete .....
- all:对指定的库拥有全部权限

- select:只有查看指定库的权限

- insert:只有在指定库的插入记录权限

- update:updtae(字段1,字段2.......)更新权限,对某表某字段的更改权限

- delete- USAGE:对库和表没有任何权限,用户只能登录

- 多个权限逗号,分隔:select,insert.

[その中でselect、許可のみが読み取られ、その他は書き込みの許可です]

  • (閲覧許可)
show  grants  for tom@’192.168.1.102;

アクションの範囲:

  • 【グローバルライブラリリスト】
  • データベース名
*.*    全局级别 所有数据库和所有表
库.*   库级别 指定库的所有表
库.表  表级别 指定库的指定表

権限の付与

grant  create,drop  on  *.*  to  tom@’192.168.1.102; 
  • 分析
grant    权限     on  数据库名.表名 to 用户@'地址';【字段解析】   

  • 例:
    192.168.1.101ホストのtomユーザーの作成および削除権限を承認するには
 grant create,drop on *.* to tom@'192.168.1.101';

権限の取り消し

  • ジャックユーザーの作成許可を取り消す
revoke  create   on  wg.stu from jack@’192.168.1.102;
  • 分析
revoke 权限列表 on 数据库名.表名 from 用户@'地址';

ログ:

-----実行ステータスを表示mysqlします

エラーログ

開始、実行、または停止mysql時に発生する問題を記録します

    • トラブルシューティングコマンド[ログの表示]:
tail -f  /var/log/mysql.log 

状態 - -

warning 警告  note 笔记  error 出错

クエリログ

general log(一般ログ)、selectクエリ専用と誤解しているのですが
、実際updateには、更新中に特定のデータを更新する可能性
deleteがあり、条件を満たすデータのみを削除するため、クエリが発生する場合があります。

  • 同時操作が多いシナリオでは、クエリ情報が多くなるため、記録するとIOが非常に大きくなり、MySQLのパフォーマンスに影響します。したがって、デバッグ環境でない場合は、クエリログ機能を有効にすることはお勧めしません。

遅いログ:

長いクエリ時間ログ、
show variables like ‘ %char%’;コード化された文字セットのファジークエリを記録する

  • ステップ:
编辑配置文件   vim  /etc/my.cnf 
开启慢日志     log_slow_queries=1 
指定慢日志路径 slow_query_log_file=/tmp/mysql.slow.log

バイナリログ

私たちの記録は、mysqlステートメントを追加、削除、変更します

  • 構成ファイルの編集
   vim  /etc/my.cnf 
添加 log_bin=mysql-bin   
 (放路径 /var/lib/mysql)
  • バイナリログのクエリ/表示
show  variables  like  ‘ %log_bin%;
  • 場所を確認【position】変更
show master status; 
  • mysql-bin.000001 | mysql-urootバイナリログ回復データベース[場所]
 mysqlbinlog  /var/lib/mysql/mysql-bin.000001
mysqlbinlog  --start-position=106  --stop-position=185
  • mysql-bin.000001 | mysql-urootバイナリログ回復データベース[時間]
mysqlbinlog  --start-datetime=2020-06-17 15:46:30--start-datetime=2020-06-17 15:46:56’
  命令         开始位置            结束位置

バイナリログのリセット:すべてのバイナリログファイルが削除され、元の状態に復元されます

リレーログ

  • relay logこれは、レプリケーションプロセス中に生成されるログです。多くの点でbinary log類似しています。違いはrelay log、スレーブライブラリサーバーのI / Oスレッドがメインライブラリサーバーのバイナリログを読み取り、それをスレーブライブラリサーバーのローカルファイルに記録すると、スレーブライブラリのSQLスレッドがrelay-logログの内容を読み取り、スレーブライブラリサーバーに適用します

おすすめ

転載: blog.csdn.net/qing1912/article/details/109015824