【Linux研究ノート22】mysqlデータベースの基本管理

1.データベースの紹介

  1. データベースとは
  • 高度なフォームソフトウェア
  • 特定の方法で一緒に保存され、複数のユーザーで共有でき、冗長性の特性が最小で、アプリケーションに依存しないデータ収集です
  • これは、特定のデータモデルに従って整理され、セカンダリストレージに保存されたデータのコレクションです。
  1. 共通データベース
MySQL オラクル MongoDB
DB2 sqlite SQLサーバー
  1. mysqlの紹介

MySQLは、スウェーデンの会社MySQL ABによって開発されたリレーショナルデータベース管理システムであり、現在Oracleの製品に属しています。MySQLは、最も人気のあるリレーショナルデータベース管理システム(RDBMS)の1つです。

  1. mariadb

MariaDBデータベース管理システムはMySQLのブランチであり、主にオープンソースコミュニティによって維持されています。GPLライセンスを使用する目的MariaDBは、APIやコマンドラインを含むMySQLと完全に互換性があるため、MySQLの代わりになります。ストレージエンジンに関しては、MySQLのInnoDBの代わりにXtraDB(英語:XtraDB)が使用されます。MariaDBは、MySQLの創設者であるMichael Widenius(英語:Michael Widenius)によって開発され、作成したMySQL ABをSUNに10億ドルで売却しました。それ以来、SUNがOracleに買収されたため、MySQL所有権もOracleの手に委ねられます。MariaDBの名前は、MichaelWideniusの娘であるMariaの名前に由来しています。

2. mysqlをインストールし、有効にします

  1. インストール

dnf search mariadb:データベースを探す

dnf install mariadb-server.x86_64 -y:データベースをインストールする

  1. 構成ファイルを表示する

rpm -qc mariadb-server

  1. データベースサービスを有効にする

systemctl enable --now mariadb

ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入

3.基本的なソフトウェア情報

  1. サービスを開始します。mariadb.service
  2. デフォルトのポート番号:3306
  3. 主な構成ファイル:
    /etc/my.cnf.d/mariadb-server.cnf
  4. データディレクトリ:/ var / lib / mysql
    (データディレクトリ、mariabを再インストールする必要がある場合、このディレクトリをクリーンアップまたはバックアップする必要があります)

4.データベースの安全な初期化

4.1データベースの開いているポートを閉じる

  1. vim /etc/my.cnf.d/mariadb-server.cnf:メイン構成ファイルを編集します
skip-networking=1
#关闭数据库开放端口
  1. systemctl restart mariadb.service:データベースサービスを再起動します
  2. netstat -antlupe | grep mysql:データベースポートを照会します(このコマンドはポートを照会できません
netstatパラメーター
パラメータ 説明 パラメータ 説明
-a すべてのオプションを表示します
(関連するリッスンはデフォルトでは表示されません)
-t tcpオプションのみを表示する
-u udpオプションのみを表示 -n エイリアスの表示を拒否します
表示できるすべての番号は番号に変換されます)
-l リッスンにサービスステータスのみをリストします -p 関連リンクを確立したプログラムの名前を表示します
-r ルーティング情報、ルーティングテーブルを表示します -e 拡張情報を表示する
-s 各合意による統計 -c 定期的にnetstatコマンドを実行します

ここに写真の説明を挿入
ここに写真の説明を挿入

4.2セキュリティ初期化スクリプトを実行する

  1. mysql_secure_installation:初期化
  2. mysql -u用户名 -p密码:データベースにログインします(パスワードはプレーンテキストで入力できます)
#登陆数据库方式
mysql -u用户名 -p
mysql -u用户名 -p -e "数据库命令"
mysql -u用户名 -p 数据库名 -e "数据库命令"

ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入

5.基本的なデータベース管理

5.1データベースビュー

  1. SHOW DATABASES;:データベース名を表示
  2. USE 数据库名;:データベースに入る
  3. SHOW TABLES;:データベース内のテーブルを表示します
  4. SELECT * FROM 数据库名.表名;:テーブル内のすべてのデータを照会します(データベースを入力した場合、データベース名を追加することはできません)
  5. SELECT 字段1,字段2 FROM 数据库名.表名;:指定したフィールドに問い合わせます(データベースを入力している場合はデータベース名を追加できません)
  6. DESC 表名;:テーブル構造を表示

ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入

5.2新しいデータベース

  1. CREATE DATABASE 数据库名;:新しいデータベース

  2. 新しいテーブル

USE westos;	进入数据库
CREATE TABLE 表名(
	-> 字段 类型 是否为空,
    -> Username varchar(10) not null,
    -> Password varchar(10) not null
    -> );
# '->'不是sql语句的一部分,表示一个新行
# ';'表示指令结束
  1. DESC linux;:テーブル構造を表示 `
  2. データを挿入
#给所有字段添加
INSERT INTO 表名 VALUES('值1','值2',...,'值n');
INSERT INTO 表名 VALUES ('值1','值2',...,'值n'),('值1','值2',...,'值n')...;#添加多组值
#给指定字段添加
INSERT INTO 表名 (字段1,字段2) VALUES('值1','值2');
INSERT INTO 表名 (字段1,字段2) VALUES ('值1','值2'),('值1','值2')...;#添加多组值
  1. FLUSH PRIVIEGES;:データベースを更新する

ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入

5.3データベースの変更

  1. ALTER TABLE 原表名 RENAME 新表名;:テーブル名を変更する
  2. ALTER TABLE 表名 ADD 字段 类型;:フィールドを追加
  3. ALTER TABLE 表名 ADD 字段 类型 AFTER 已有字段;:フィールドを追加します(既存のフィールドの後の位置)
  4. UPDATE 表名 SET字段1=‘值1’,字段2=‘值2’ WHERE 字段=‘值’;:データの変更
  5. ALTER TABLE 表名 DROP 字段名;:フィールドを削除

ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入

5.4データベースの削除

  1. DELETE FROM 表名 WHERE 字段=‘值’;:指定したデータを削除する
#指定多个条件
DELETE FROM 表名 WHERE 字段1='值' AND 字段2='值';
  1. DROP TABLE 数据库名.表名;:テーブルを削除
  2. DROP DATABASE 数据库名;:データベースを削除する

ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入

6.データパスワード管理

6.1データベースパスワードの変更

mysqladmin -uroot -p password 新密码

ここに写真の説明を挿入

6.2データベースパスワードクラッキング

  1. systemctl stop mariadb.service:データベースサービスをオフにします
  2. mysqld_safe --skip-grant-tables &:データベースの起動時にデータベース認証テーブルをスキップする
  3. mysql: ログインする
#修改密码(rhel8中)
UPDATE mysql.user SET authentication_string=password('新密码') WHERE User='root';
#修改密码(rhel7中)
UPDATE mysql.user Password=password('新密码') WHERE User='root';
#########
password()是为了防止密码裸漏,进行加密处理
  1. ps aux | grep mysql:mysqlプロセスを照会します
  2. kill -9 进程号:mysqlプロセスを閉じます
  3. systemctl enable --now mariadb:サービスをオンにする

ここに写真の説明を挿入
ここに写真の説明を挿入

7.ユーザー認証

7.1ローカルユーザーを作成する

  1. CREATE USER 用户名@localhost identified by ‘该用户密码’;:lcalhostでのみログイン
  2. SELECT User FROM mysql.user;:ユーザーを表示

ここに写真の説明を挿入
ここに写真の説明を挿入

7.2ユーザー権限の管理

  1. SHOW GRANTS FOR 用户名@localhost;:ユーザー権限の表示
  2. GRANT 权限1,权限2 ON 数据库名.* TO 用户名@localhost;:ユーザー権限を付与します(*はライブラリの下のすべてのテーブルを表します)
  3. REVOKE 权限1,权限2 ON 数据库名.* FROM 用户名@localhost;:ユーザー権限を撤回する

ここに写真の説明を挿入

7.3ユーザーの削除

DROP USER 用户名@localhost;:ユーザーを削除する

ここに写真の説明を挿入

7.4ネットワークユーザーの作成(非推奨)

  1. CREATE USER 用户名@’%’ identified by ‘该用户密码’;:ユーザーを作成します(ネットワークまたはlocalhost経由でログインできます)
#直接执行创建命令
mysql -uroot -p -e "CREATE USER 用户名@'%' identified by '该用户密码';"
  1. vim /etc/my.cnf.d/mariadb-server.cnf:メイン構成ファイルを変更します(データベースのオープンポートを開きます)
#skip-networking=1	注释掉(打开端口)
  1. systemctl restart mariadb.service:サービスを再開する
  2. netstat -antlupe | grep mysql:クエリデータベースポート
  3. mysql -u用户名 -p密码 -h访问的数据库主机IP:データベースへのリモートまたはローカルアクセス
  • node1にネットワークユーザーzynetを作成します

ここに写真の説明を挿入
ここに写真の説明を挿入

  • node2のnode1データベースにアクセスします

ここに写真の説明を挿入

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

8.1データベースのバックアップ方法

  1. mysqldump -u用户名 -p --all-databases:すべてのデータをバックアップする
  2. mysqldump -u用户名t -p --all-databases --no-data:すべてのデータをバックアップしますが、データコンテンツはバックアップしません(データベース名のテーブルとフィールドのみ)
  3. mysqldump -u用户名t -p 数据库名 > /mnt/数据库名.sql:指定した場所にデータをバックアップする

ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入

8.2データ回復方法1

  1. mysql -u root -p -e “CREATE DATABASE westos;”:データベースを作成する
  2. mysql -u root -p westos < /mnt/westos.sql:指定したデータベースにデータを復元する

ここに写真の説明を挿入

8.2データ回復方法2

  1. vim /mnt/westos.sql:バックアップデータベースファイルを変更します(createを追加し、operation databaseステートメントを入力します)
CREATE DATABASE westos;
USE westos;
  1. mysql -u root -p < /mnt/westos.sql:データ復旧

ここに写真の説明を挿入
ここに写真の説明を挿入

9.Phpmyadminグラフィカルデータベース管理方法web

phpMyAdminは、PHPとWebサイトホスト上のWebベースアーキテクチャに基づくMySQLデータベース管理ツールであり、管理者はWebインターフェイスを使用してMySQLデータベースを管理できます。このWebインターフェイスを使用すると、特に大量のデータのインポートとエクスポートの場合に、複雑なSQL構文を簡単な方法で入力するためのより良い方法になります。大きな利点の1つは、phpMyAdminが他のPHPプログラムと同様にWebサーバー上で実行されることですが、これらのプログラムによって生成されたHTMLページをどこでも使用できます。つまり、MySQLデータベースをリモートで管理して、作成、変更、削除を簡単に行うことができます。データベースと情報テーブル。phpMyAdminを使用して一般的なphp文法を作成し、Webページを作成するときに必要なsql文法の正確さを促進することもできます。

9.1。インストール

  1. dnf install httpd -y:Apacheをインストールする
  2. dnf install php -y:phpをインストールする
  3. dnf install php-mysqlnd.x86_64 -y:php組み込みmysql接続ドライバーをインストールします
  4. phpMyAdminをデフォルトの公開ディレクトリ/ var / www / html /にダウンロードします

ここに写真の説明を挿入

9.2構成

  1. tar jxf /var/www/html/phpMyAdmin-3.4.0-all-languages.tar.bz2:unzip
  2. cd /var/www/html/:ディレクトリを入力してください
    mv phpMyAdmin-3.4.0-all-languages myadmin:名前を変更してください
  3. cd myadmin/:ディレクトリを入力してください
    cp config.sample.inc.php config.inc.php:テンプレートファイルをコピーしてください
  4. systemctl enable --now httpd:httpdサービスを開く:httpdサービスを
    systemctl restart httpd再起動する

ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入

9.3アクセス

firefoxアクセスhttp://192.168.43.101/myadmin/

ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入

10.ローカルデータベースを再インストールします

  1. systemctl stop mariadb:データベースサービスをオフにします
  2. rm -fr /var/lib/mysql/:データディレクトリを削除する
  3. dnf reinstall mariadb-server.x86_64 -y:データベースを再インストールします

ここに写真の説明を挿入
ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_46069582/article/details/110295061