MySQL View一覧 (show views)

VIEW一覧

MySQLMariaDBでは、テーブル一覧は「show tables;」出来ますが、Viewの場合「show views;」はERRORです。

information_schema.tablesにはテーブルやView・インデックスの情報が入っているのでそこから取り出せます。

SYSTEM VIEW, BASE TABLE, VIEW 一覧

SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE FROM information_schema.tables;

TABLE_NAMEにテーブルやVIEWが混ざって表示されるのでWHEREでVIEW指定すると下記のSQLでVIEWだけ一覧できます。

SELECT TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE FROM information_schema.tables WHERE TABLE_TYPE = 'VIEW';

Ubuntu 20.04 MariaDBインストールと外部接続設定

MariaDB外部から接続する方法

AWS EC2Ubuntu 20.04MariaDBをインストールする

aptを最新版にUpgradeする

sudo apt upgrade

aptのパッケージ一覧を更新する

sudo apt update

MariaDBをインストールする

sudo apt install mariadb-server

MariaDBの初期設定スクリプトを開始する

sudo mysql_secure_installation

MariaDB最初の起動

sudo mariadb

上記が実行で↓下記Errorが出る場合

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

MariaDBが起動できていないので下記コマンドで起動する

sudo systemctl start mariadb
sudo mariadb
「Server version: 10.3.34-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04」と出た
「Server version: 10.3.34-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04」と出た

exitを入力しmariadbコマンドツールから抜ける

MariaDBサーバーに外部から接続できる設定を先にしておく

viエディタで50-server.cnf(mysqld.conf)を編集

sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf 

/etc/mysql/mariadb.conf.dここに50-server.cnfが無い場合mysqld.confを編集する

28行目あたりにbind-address = 127.0.0.1があるのでコメントアウトする

外部から接続できるユーザーを作成

「sudo mariadb」ここに入ってからユーザー作成する下記コマンドを入力する

CREATE USER "user1"@"%" IDENTIFIED BY 'password1';
SET PASSWORD FOR "user1"@"%" = PASSWORD('password1');
GRANT ALL ON *.* TO "user1"@"localhost";
grant all privileges on *.* to "user1"@"%";

上記の2行目はいらないかも

user1というユーザーを作成し、パスワードはpassword1

MariaDB 起動|終了|再起動

sudo systemctl start mariadb #起動
sudo systemctl stop mariadb  #終了
sudo systemctl restart mariadb #再起動

ユーザー作成と設定が終わったので、MariaDBをrestart再起動しておく

MariaDBサーバーへ外部から接続する

mysql -h127.0.0.1 -uuser1 -ppassword1 データベース名
2022 MJELD TECHNOLOGIES. ALL RIGHTS RESERVED