記事ディレクトリ
1.データベースの紹介
- データベースとは
- 高度なフォームソフトウェア
- 特定の方法で一緒に保存され、複数のユーザーで共有でき、冗長性の特性が最小で、アプリケーションに依存しないデータ収集です
- これは、特定のデータモデルに従って整理され、セカンダリストレージに保存されたデータのコレクションです。
- 共通データベース
MySQL | オラクル | MongoDB |
DB2 | sqlite | SQLサーバー |
- mysqlの紹介
MySQLは、スウェーデンの会社MySQL ABによって開発されたリレーショナルデータベース管理システムであり、現在Oracleの製品に属しています。MySQLは、最も人気のあるリレーショナルデータベース管理システム(RDBMS)の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をインストールし、有効にします
- インストール
dnf search mariadb
:データベースを探す
dnf install mariadb-server.x86_64 -y
:データベースをインストールする
- 構成ファイルを表示する
rpm -qc mariadb-server
- データベースサービスを有効にする
systemctl enable --now mariadb
3.基本的なソフトウェア情報
- サービスを開始します。mariadb.service
- デフォルトのポート番号:3306
- 主な構成ファイル:
/etc/my.cnf.d/mariadb-server.cnf - データディレクトリ:/ var / lib / mysql
(データディレクトリ、mariabを再インストールする必要がある場合、このディレクトリをクリーンアップまたはバックアップする必要があります)
4.データベースの安全な初期化
4.1データベースの開いているポートを閉じる
vim /etc/my.cnf.d/mariadb-server.cnf
:メイン構成ファイルを編集します
skip-networking=1
#关闭数据库开放端口
systemctl restart mariadb.service
:データベースサービスを再起動しますnetstat -antlupe | grep mysql
:データベースポートを照会します(このコマンドはポートを照会できません
netstatパラメーター | |||
---|---|---|---|
パラメータ | 説明 | パラメータ | 説明 |
-a | すべてのオプションを表示します (関連するリッスンはデフォルトでは表示されません) |
-t | tcpオプションのみを表示する |
-u | udpオプションのみを表示 | -n | エイリアスの表示を拒否します (表示できるすべての番号は番号に変換されます) |
-l | リッスンにサービスステータスのみをリストします | -p | 関連リンクを確立したプログラムの名前を表示します |
-r | ルーティング情報、ルーティングテーブルを表示します | -e | 拡張情報を表示する |
-s | 各合意による統計 | -c | 定期的にnetstatコマンドを実行します |
4.2セキュリティ初期化スクリプトを実行する
mysql_secure_installation
:初期化mysql -u用户名 -p密码
:データベースにログインします(パスワードはプレーンテキストで入力できます)
#登陆数据库方式
mysql -u用户名 -p
mysql -u用户名 -p -e "数据库命令"
mysql -u用户名 -p 数据库名 -e "数据库命令"
5.基本的なデータベース管理
5.1データベースビュー
SHOW DATABASES;
:データベース名を表示USE 数据库名;
:データベースに入るSHOW TABLES;
:データベース内のテーブルを表示しますSELECT * FROM 数据库名.表名;
:テーブル内のすべてのデータを照会します(データベースを入力した場合、データベース名を追加することはできません)SELECT 字段1,字段2 FROM 数据库名.表名;
:指定したフィールドに問い合わせます(データベースを入力している場合はデータベース名を追加できません)DESC 表名;
:テーブル構造を表示
5.2新しいデータベース
-
CREATE DATABASE 数据库名;
:新しいデータベース -
新しいテーブル
USE westos; 进入数据库
CREATE TABLE 表名(
-> 字段 类型 是否为空,
-> Username varchar(10) not null,
-> Password varchar(10) not null
-> );
# '->'不是sql语句的一部分,表示一个新行
# ';'表示指令结束
DESC linux;
:テーブル構造を表示 `- データを挿入
#给所有字段添加
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')...;#添加多组值
FLUSH PRIVIEGES;
:データベースを更新する
5.3データベースの変更
ALTER TABLE 原表名 RENAME 新表名;
:テーブル名を変更するALTER TABLE 表名 ADD 字段 类型;
:フィールドを追加ALTER TABLE 表名 ADD 字段 类型 AFTER 已有字段;
:フィールドを追加します(既存のフィールドの後の位置)UPDATE 表名 SET字段1=‘值1’,字段2=‘值2’ WHERE 字段=‘值’;
:データの変更ALTER TABLE 表名 DROP 字段名;
:フィールドを削除
5.4データベースの削除
DELETE FROM 表名 WHERE 字段=‘值’;
:指定したデータを削除する
#指定多个条件
DELETE FROM 表名 WHERE 字段1='值' AND 字段2='值';
DROP TABLE 数据库名.表名;
:テーブルを削除DROP DATABASE 数据库名;
:データベースを削除する
6.データパスワード管理
6.1データベースパスワードの変更
mysqladmin -uroot -p password 新密码
6.2データベースパスワードクラッキング
systemctl stop mariadb.service
:データベースサービスをオフにしますmysqld_safe --skip-grant-tables &
:データベースの起動時にデータベース認証テーブルをスキップするmysql
: ログインする
#修改密码(rhel8中)
UPDATE mysql.user SET authentication_string=password('新密码') WHERE User='root';
#修改密码(rhel7中)
UPDATE mysql.user Password=password('新密码') WHERE User='root';
#########
password()是为了防止密码裸漏,进行加密处理
ps aux | grep mysql
:mysqlプロセスを照会しますkill -9 进程号
:mysqlプロセスを閉じますsystemctl enable --now mariadb
:サービスをオンにする
7.ユーザー認証
7.1ローカルユーザーを作成する
CREATE USER 用户名@localhost identified by ‘该用户密码’;
:lcalhostでのみログインSELECT User FROM mysql.user;
:ユーザーを表示
7.2ユーザー権限の管理
SHOW GRANTS FOR 用户名@localhost;
:ユーザー権限の表示GRANT 权限1,权限2 ON 数据库名.* TO 用户名@localhost;
:ユーザー権限を付与します(*はライブラリの下のすべてのテーブルを表します)REVOKE 权限1,权限2 ON 数据库名.* FROM 用户名@localhost;
:ユーザー権限を撤回する
7.3ユーザーの削除
DROP USER 用户名@localhost;
:ユーザーを削除する
7.4ネットワークユーザーの作成(非推奨)
CREATE USER 用户名@’%’ identified by ‘该用户密码’;
:ユーザーを作成します(ネットワークまたはlocalhost経由でログインできます)
#直接执行创建命令
mysql -uroot -p -e "CREATE USER 用户名@'%' identified by '该用户密码';"
vim /etc/my.cnf.d/mariadb-server.cnf
:メイン構成ファイルを変更します(データベースのオープンポートを開きます)
#skip-networking=1 注释掉(打开端口)
systemctl restart mariadb.service
:サービスを再開するnetstat -antlupe | grep mysql
:クエリデータベースポートmysql -u用户名 -p密码 -h访问的数据库主机IP
:データベースへのリモートまたはローカルアクセス
- node1にネットワークユーザーzynetを作成します
- node2のnode1データベースにアクセスします
8.データベースのバックアップ
8.1データベースのバックアップ方法
mysqldump -u用户名 -p --all-databases
:すべてのデータをバックアップするmysqldump -u用户名t -p --all-databases --no-data
:すべてのデータをバックアップしますが、データコンテンツはバックアップしません(データベース名のテーブルとフィールドのみ)mysqldump -u用户名t -p 数据库名 > /mnt/数据库名.sql
:指定した場所にデータをバックアップする
8.2データ回復方法1
mysql -u root -p -e “CREATE DATABASE westos;”
:データベースを作成するmysql -u root -p westos < /mnt/westos.sql
:指定したデータベースにデータを復元する
8.2データ回復方法2
vim /mnt/westos.sql
:バックアップデータベースファイルを変更します(createを追加し、operation databaseステートメントを入力します)
CREATE DATABASE westos;
USE westos;
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。インストール
dnf install httpd -y
:Apacheをインストールするdnf install php -y
:phpをインストールするdnf install php-mysqlnd.x86_64 -y
:php組み込みmysql接続ドライバーをインストールします- phpMyAdminをデフォルトの公開ディレクトリ/ var / www / html /にダウンロードします
9.2構成
tar jxf /var/www/html/phpMyAdmin-3.4.0-all-languages.tar.bz2
:unzipcd /var/www/html/
:ディレクトリを入力してください
mv phpMyAdmin-3.4.0-all-languages myadmin
:名前を変更してくださいcd myadmin/
:ディレクトリを入力してください
cp config.sample.inc.php config.inc.php
:テンプレートファイルをコピーしてくださいsystemctl enable --now httpd
:httpdサービスを開く:httpdサービスを
systemctl restart httpd
再起動する
9.3アクセス
firefoxアクセスhttp://192.168.43.101/myadmin/
10.ローカルデータベースを再インストールします
systemctl stop mariadb
:データベースサービスをオフにしますrm -fr /var/lib/mysql/
:データディレクトリを削除するdnf reinstall mariadb-server.x86_64 -y
:データベースを再インストールします