両方のMySQL およびMariaDB オープンソースのリレーショナルデータベース管理システム( RDBMS )。 MySQL以降 コミュニティリリースまたはエンタープライズリリースのいずれかに分類されます。
MariaDB すべての構造化クエリ言語( SQL )をパレードするためのドロップイン代替品になりました ) MySQLが提供する機能 ただし、オープンソースのコストがかかります。
したがって、 MySQL Enterprise Editionを使用しているかどうか 、 MySQL Community Edition 、または MariaDB 、この記事はあなたのためです。読み終えるまでに、これらの RDBMSによって模倣された強力な構造化クエリ言語の使用に慣れているはずです。 。
LinuxにMySQLサーバーをインストールする
MySQL またはMariaDB は公式リポジトリで利用可能であり、示されているようにパッケージマネージャーを使用してインストールできます。
----------- MySQL ----------- $ sudo apt install mysql-server [On Debian, Ubuntu and Mint] $ sudo apt install mysql-server [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] ----------- MariaDB ----------- $ sudo apt install mariadb-server [On Debian, Ubuntu and Mint] $ sudo dnf install mariadb-server [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
MySQLの事前設定セットアップ
MariaDBがある場合 またはMySQL インストールの場合、最初のステップは常に MySQL を開始、有効化、およびステータスを確認することです。 。 MySQLを有効にする Linuxシステムを正常に再起動した後でも、常に実行されていることを確認します。
MySQLを開始するには 、コマンドを実行します:
$ sudo systemctl start mysql/mysqld OR $ sudo systemctl start mariadb
MySQLを有効にするには 、コマンドを実行します:
$ sudo systemctl enable mysql/mysqld OR $ sudo systemctl enable mariadb
MySQLを確認するには ステータス、コマンドを実行します:
$ sudo systemctl status mysql/mysqld OR $ sudo systemctl status mariadb
これで、 MySQLが確実になりました 稼働しているので、いくつかの設定を行います。新しいMySQL/ MariaDBの場合 インストールの場合、MySQLのインストールを保護するために次のスクリプトを実行することをお勧めします。
$ sudo mysql_secure_installation
次に、プロンプトが表示されたオプションに進んで、 MySQLを適切に構成する必要があります。 インストール。
MySQLデータベース管理コマンド
MySQLに接続するには データベースについては、次の構文規則に従ってください。
$ mysql -u [username] -p
まず、データベースへのアクセスは、以下に示すようにrootユーザーを介して行われます。
$ mysql -u root -p
これで、 MySQLの内部に入りました。 データベースシェルでは、いくつかのSQLクエリを実行できます。
新しいMySQLユーザーを作成する
新しいMySQLを作成するには ユーザーは、次のSQLコマンドを実行します。
MariaDB [(none)]> CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_user_password';
このユーザーにrootユーザーと同じ権限を付与するには、次のコマンドを実行します。
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'localhost'; MariaDB [(none)]> EXIT;
DBに接続するには このユーザーでコンソールを使用し、最初にMySQLを終了し、新しいユーザー資格情報を使用して再入力します。
$ mysql -u your_user -p
MySQLデータベースの操作
すべてのアクティブなMySQLを表示するには データベースの場合は、次のコマンドを実行します:
MariaDB [(none)]> SHOW DATABASES;
新しいMySQLを作成するには データベース、実行:
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS database_name;
MySQLを削除するには 使用しなくなったデータベースを実行します:
MariaDB [(none)]> DROP DATABASE IF EXISTS database_name;
特定のMySQLに切り替えるには データベース、実行:
MariaDB [(none)]> USE database_name;
MySQLデータベーステーブルの操作
特定のデータベースに接続している場合は、 MySQLを一覧表示できます。 次のコマンドでデータベースに関連付けられたテーブル:
MariaDB [(none)]> USE database_name; MariaDB [(none)]> SHOW TABLES;
新しいデータベーステーブルを作成するには、以下に示すように、その列定義も提供する必要があります。
CREATE TABLE IF NOT EXISTS table_name( column_list );
既存のデータベーステーブルを削除するには、次のコマンド構文を参照してください。
MariaDB [(none)]> DROP TABLE IF EXISTS table_name;
既存のデータベーステーブルに新しい列を追加するには、次のコマンド構文を実装します。
MariaDB [(none)]> ALTER TABLE table_name ADD COLUMN column_name;
データベーステーブルの列を削除するには、次を実装します。
MariaDB [(none)]> ALTER TABLE table_name DROP COLUMN column_name;
データベーステーブルに主キーが必要な場合は、次のコマンドで主キーを含めることができます:
MariaDB [(none)]> ALTER TABLE table_name ADD PRIMARY KEY (column_name);
データベーステーブルに割り当てられた主キーを削除するには、次のコマンドを実行します。
MariaDB [(none)]> ALTER TABLE table_name DROP PRIMARY KEY;
特定のデータベーステーブルに関連付けられている列を表示するには、次のコマンドを実行します。
MariaDB [(none)]> DESCRIBE table_name;
特定の列情報を表示するには、次を実行します:
MariaDB [(none)]> DESCRIBE table_name table_column;
MySQLデータベースデータのクエリ
データベースの下にあるさまざまなテーブルを特定したら、いくつかの興味深いクエリを実行できます。
特定のデータベーステーブルに関連付けられているすべてのデータをクエリするには、次のコマンドを実行します。
MariaDB [(none)]> SELECT * FROM table_name;
1つ以上のテーブル列データをクエリするには、次を実行します。
MariaDB [(none)]> SELECT column_name1, column_name2, column_name3 FROM table_name;
データベーステーブルクエリに重複する行がある場合は、次のコマンドでそれらを除外できます:
MariaDB [(none)]> SELECT DISTINCT COLUMN FROM table_name;
新しいデータベーステーブルレコードを挿入するには:
MariaDB [(none)]> INSERT INTO table_name(column_list) VALUES(value_list);
既存のデータベーステーブルレコードを更新するには:
MariaDB [(none)]> Update table_name SET column1=value1;を更新します
データベースのバックアップと復元
ここでは、 mysqldumpの使用を確認する必要があります コマンドラインクライアントプログラム。最初のステップは、バックアップまたは復元するデータベースとデータベーステーブルを特定することです。
MariaDB [(none)]> show databases; MariaDB [(none)]> show tables;
単一のMySQLデータベースをバックアップするには、次の構文を参照してください。
$ sudo mysqldump -u [db_username] -p[db_password] [database_name] > [generated_db_backup.sql]
上記のコマンド構文の実装は次のようになります。
$ sudo mysqldump -u root -pid@pa55word demodb > demodb.sql
複数のデータベースを扱っている場合、コマンドは次のようになります。
$ sudo mysqldump -u root -pid@pa55word --databases demodb mysql > demodb_mysql.sql
すべてのMySQLデータベースをバックアップするには:
$ sudo mysqldump -u root -pid@pa55word --all-databases > all_databases.sql
タスクと呼ばれる単一のデータベーステーブルをバックアップするには :
$ sudo mysqldump -u root -pid@pa55word demodb tasks > demodb_tasks.sql
複数のデータベーステーブルをバックアップするには(ユーザー およびホスト ):
$ sudo mysqldump -u root -pid@pa55word mysql user host > mysql_user+host.sql
MySQLデータベースまたはデータベーステーブルを復元するには、 mysqlを使用します mysqldumpの代わりにコマンド コマンドを実行して>
を切り替えます <
の記号 シンボル。
たとえば、 demodbと呼ばれる単一のMySQLデータベースを復元するには 、コマンドを実装します:
$ sudo mysql -u root -pid@pa55word demodb < demodb.sql
データベースデータをリモートサーバーからローカルマシンにバックアップするには、MySQLをホストしているリモートサーバーのIPアドレスを知っている必要があります。たとえば、リモートサーバー上の単一のデータベースをローカルにバックアップするには、実装するコマンドは次のようになります。
$ sudo mysqldump -h 192.168.84.130 -u remote_user -p dbdemo > dbdemo.sql
バックアッププロセスを開始するためのデータベースユーザーパスワードの入力を求められます。 MySQLサーバーへのリモートアクセスを許可していることを確認してください。
いくつかの便利なMySQL 読むべき関連記事:
- MySQLデータベースサーバーへのリモートアクセスを許可する方法
- LinuxでMySQLユーザーアカウントのリストを取得する方法
- LinuxでMySQLデータベースをインポートおよびエクスポートする方法
- GRANT権限を持つ新しいMySQLユーザーを追加する方法
- コマンドラインからすべてのMySQLデータベースをバックアップする方法
この短い記事では、必要な MySQLを快適に実装する必要があります。 データベース駆動型プロジェクトを継続するためのコマンド。