| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「MySQL」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
1行目: 1行目:
==MySQL==
+
==[[MySQL]]==
 
[[Database]] | [[CentOS]] |  
 
[[Database]] | [[CentOS]] |  
 
{{amazon|4798124230}}
 
{{amazon|4798124230}}
*Django インストール 1.5.1
+
*[[Django インストール 1.5.1]]
*CentOS 初期設定
+
*[[CentOS 初期設定]]
 
==インストール==
 
==インストール==
===Windows===
+
===[[Windows]]===
 
*[http://typea.info/blg/glob/2014/04/mysql56-windows-81.html Windows8.1にMySQL5.6をインストール]
 
*[http://typea.info/blg/glob/2014/04/mysql56-windows-81.html Windows8.1にMySQL5.6をインストール]
===Ubuntu(apt-getでインストール)===
+
===[[Ubuntu]](apt-getでインストール)===
 
  $ sudo apt-get install mysql-server
 
  $ sudo apt-get install mysql-server
 
*途中でパスワードの設定を求められる
 
*途中でパスワードの設定を求められる
 
[[File:0816_mysql_password.png]]
 
[[File:0816_mysql_password.png]]
  
===CentOS(yumからインストール)===
+
===[[CentOS]](yumからインストール)===
 
*https://dev.mysql.com/doc/refman/5.6/ja/linux-installation-yum-repo.html
 
*https://dev.mysql.com/doc/refman/5.6/ja/linux-installation-yum-repo.html
 
====手順====
 
====手順====
25行目: 25行目:
 
*http://www.mysql.com/
 
*http://www.mysql.com/
 
*http://dev.mysql.com/downloads/
 
*http://dev.mysql.com/downloads/
=====MySQL Community Server=====
+
=====[[MySQL]] Community Server=====
 
*http://dev.mysql.com/downloads/mysql/
 
*http://dev.mysql.com/downloads/mysql/
*MySQL-5.6.13-1.linux_glibc2.5.i386.rpm-bundle.tar
+
*[[MySQL]]-5.6.13-1.linux_glibc2.5.i386.rpm-bundle.tar
  
  
35行目: 35行目:
 
  # useradd -g mysql mysql
 
  # useradd -g mysql mysql
 
====解凍====
 
====解凍====
  $ tar xvf MySQL-5.6.13-1.linux_glibc2.5.i386.rpm-bundle.tar
+
  $ tar xvf [[MySQL]]-5.6.13-1.linux_glibc2.5.i386.rpm-bundle.tar
 
====インストール====
 
====インストール====
*標準の最低限のインストールには、サーバーとクライアント RPM をインストールします。
+
*標準の最低限のインストールには、サーバーとクライアント [[RPM]] をインストールします。
*RPM はまた MySQL サーバーを運用するためのユーザー mysql (存在しない場合) のログインアカウントを作成する
+
*RPM はまた [[MySQL]] サーバーを運用するためのユーザー mysql (存在しない場合) のログインアカウントを作成する
 
*サーバーがブート時に自動的に起動するように適切なエントリを /etc/init.d/ に作成する
 
*サーバーがブート時に自動的に起動するように適切なエントリを /etc/init.d/ に作成する
  # rpm -ivh MySQL-shared-5.6.13-1.linux_glibc2.5.i386.rpm
+
  # rpm -ivh [[MySQL]]-shared-5.6.13-1.linux_glibc2.5.i386.rpm
  # rpm -ivh MySQL-shared-compat-5.6.13-1.linux_glibc2.5.i386.rpm  
+
  # rpm -ivh [[MySQL]]-shared-compat-5.6.13-1.linux_glibc2.5.i386.rpm  
  # rpm -ivh MySQL-server-5.6.13-1.linux_glibc2.5.i386.rpm
+
  # rpm -ivh [[MySQL]]-server-5.6.13-1.linux_glibc2.5.i386.rpm
  # rpm -ivh MySQL-client-5.6.13-1.linux_glibc2.5.i386.rpm  
+
  # rpm -ivh [[MySQL]]-client-5.6.13-1.linux_glibc2.5.i386.rpm  
  
 
<blockquote>serverインストール時に、初期パスワードの情報がコンソールに出力される</blockquote>
 
<blockquote>serverインストール時に、初期パスワードの情報がコンソールに出力される</blockquote>
51行目: 51行目:
 
  /var/log/mysqld.log | grep "temporary password"
 
  /var/log/mysqld.log | grep "temporary password"
  
=====開発で必要(Djangoなど)=====
+
=====開発で必要([[Django]]など)=====
  # rpm -ivh MySQL-devel-5.6.13-1.linux_glibc2.5.i386.rpm  
+
  # rpm -ivh [[MySQL]]-devel-5.6.13-1.linux_glibc2.5.i386.rpm  
 
====起動と停止====
 
====起動と停止====
=====CentOS=====
+
=====[[CentOS]]=====
  # /sbin/service mysql start
+
  # /sbin/ser[[vi]]ce mysql start
 
  Starting MySQL...                                          [  OK  ]
 
  Starting MySQL...                                          [  OK  ]
 
  # /etc/init.d/mysql stop
 
  # /etc/init.d/mysql stop
 
  Shutting down MySQL..                                      [  OK  ]
 
  Shutting down MySQL..                                      [  OK  ]
=====CentOS7=====
+
=====[[CentOS7]]=====
 
  # systemctl enable mysqld
 
  # systemctl enable mysqld
 
  # systemctl start mysqld
 
  # systemctl start mysqld
  
=====Ubuntu=====
+
=====[[Ubuntu]]=====
 
  $ sudo /etc/init.d/mysql start
 
  $ sudo /etc/init.d/mysql start
 
  $ sudo /etc/init.d/mysql stop
 
  $ sudo /etc/init.d/mysql stop
71行目: 71行目:
 
  shell> bin/mysqld_safe &  
 
  shell> bin/mysqld_safe &  
 
====起動設定がされたか確認====
 
====起動設定がされたか確認====
  # chkconfig | grep "mysql"
+
  # [[chkconfig]] | grep "mysql"
 
  mysql          0:off 1:off 2:on 3:on 4:on 5:on 6:off
 
  mysql          0:off 1:off 2:on 3:on 4:on 5:on 6:off
 
===権限の初期設定===
 
===権限の初期設定===
82行目: 82行目:
 
  # mysql -u root mysql
 
  # mysql -u root mysql
 
=====新しいパスワードの設定=====
 
=====新しいパスワードの設定=====
  mysql> update user set Password=PASSWORD('newpassword')
+
  mysql> update user set Password=PASSWO[[R]]D('newpassword')
 
     -> where User='root';
 
     -> where User='root';
 
  Query OK, 4 rows affected (0.11 sec)
 
  Query OK, 4 rows affected (0.11 sec)
  Rows matched: 4  Changed: 4  Warnings: 0
+
  [[R]]ows matched: 4  Changed: 4  Warnings: 0
 
   
 
   
  mysql> flush privileges;
+
  mysql> flush pri[[vi]]leges;
 
  Query OK, 0 rows affected (0.01 sec)
 
  Query OK, 0 rows affected (0.01 sec)
  
94行目: 94行目:
 
  Query OK, 0 rows affected (0.00 sec)
 
  Query OK, 0 rows affected (0.00 sec)
  
=====パスワードの設定 MySQL8=====
+
=====パスワードの設定 [[MySQL]]8=====
 
*https://qiita.com/arm_band/items/12208908041a5506d7f4
 
*https://qiita.com/arm_band/items/12208908041a5506d7f4
 
  mysql> set password for 'wordpress'@'localhost' = 'your password';
 
  mysql> set password for 'wordpress'@'localhost' = 'your password';
106行目: 106行目:
 
  Reload privilege tables now? [Y/n] Y
 
  Reload privilege tables now? [Y/n] Y
 
   
 
   
  All done!  If you've completed all of the above steps, your MySQL
+
  All done!  If you've completed all of the above steps, your [[MySQL]]
 
  installation should now be secure.
 
  installation should now be secure.
 
   
 
   
  Thanks for using MySQL!
+
  Thanks for using [[MySQL]]!
 
   
 
   
 
  Cleaning up...
 
  Cleaning up...
122行目: 122行目:
 
  1 row in set (0.00 sec)
 
  1 row in set (0.00 sec)
  
====MySQL 簡易設定====
+
====[[MySQL 簡易設定]]====
*MySQL 簡易設定
+
*[[MySQL 簡易設定]]
 
==データベースの作成==
 
==データベースの作成==
 
===作成===
 
===作成===
130行目: 130行目:
 
  Query OK, 1 row affected (0.00 sec)
 
  Query OK, 1 row affected (0.00 sec)
  
=====文字コード=====
+
=====[[文字コード]]=====
 
*https://yoku0825.blogspot.com/2017/04/mysql-801utf8mb4ja0900ascs.html
 
*https://yoku0825.blogspot.com/2017/04/mysql-801utf8mb4ja0900ascs.html
 
===確認===
 
===確認===
 
  mysql> show create database test_db;
 
  mysql> show create database test_db;
 
  +----------+------------------------------------------------------------------+
 
  +----------+------------------------------------------------------------------+
  | Database | Create Database                                                  |
+
  | [[Database]] | Create [[Database]]                                                 |
 
  +----------+------------------------------------------------------------------+
 
  +----------+------------------------------------------------------------------+
  | test_db  | CREATE DATABASE `test_db` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+
  | test_db  | C[[R]]EATE DATABASE `test_db` /*!40100 DEFAULT CHA[[R]]ACTE[[R]] SET utf8 */ |
 
  +----------+------------------------------------------------------------------+
 
  +----------+------------------------------------------------------------------+
 
  1 row in set (0.00 sec)
 
  1 row in set (0.00 sec)
174行目: 174行目:
 
*test_admin@localhost を作成した上で管理権限を付与
 
*test_admin@localhost を作成した上で管理権限を付与
 
*リモートアクセスを可能とするには、test_admin@localhost の部分を test_admin@'%' とする
 
*リモートアクセスを可能とするには、test_admin@localhost の部分を test_admin@'%' とする
  mysql> grant all privileges on *.* to test_admin@localhost identified by 'newpassword' with grant option;
+
  mysql> grant all pri[[vi]]leges on *.* to test_admin@localhost identified by 'newpassword' with grant option;
 
  Query OK, 0 rows affected (0.00 sec)
 
  Query OK, 0 rows affected (0.00 sec)
  
213行目: 213行目:
 
  +------------------+-----------+
 
  +------------------+-----------+
  
==バックアップとリストア==
+
==[[バックアップ]]とリストア==
 
===mysqldump===
 
===mysqldump===
 
*通常mysqldumpコマンドを使用する
 
*通常mysqldumpコマンドを使用する
 
*データをテキストファイルとしてダンプするというシンプルな仕組みのコマンド
 
*データをテキストファイルとしてダンプするというシンプルな仕組みのコマンド
*CREATE TABLE および INSERT文として出力される
+
*C[[R]]EATE TABLE および INSE[[R]]T文として出力される
 
====テーブル名を指定してダンプ====
 
====テーブル名を指定してダンプ====
 
  mysqldump [オプション] データベース名 [テーブル名 ...]
 
  mysqldump [オプション] データベース名 [テーブル名 ...]
226行目: 226行目:
  
 
===例===
 
===例===
====バックアップ例====
+
====[[バックアップ]]例====
 
  # mysqldump --default-character-set=utf8 -uroot -p mt > mt_backup20140120.sql
 
  # mysqldump --default-character-set=utf8 -uroot -p mt > mt_backup20140120.sql
 
  Enter password:  
 
  Enter password:  
  
 
====レストア例====
 
====レストア例====
*mysqldumpの出力はSQL文の羅列であるため、復元するにはリダイレクトを使ってmysqlに結果を与えれば良い
+
*mysqldumpの出力は[[SQL]]文の羅列であるため、復元するにはリダイレクトを使ってmysqlに結果を与えれば良い
 
  # mysql -u root -p mt < mt_backup20140120.sql
 
  # mysql -u root -p mt < mt_backup20140120.sql
==Tips==
+
==[[Tips]]==
 
===管理===
 
===管理===
 
====データファイルの場所====
 
====データファイルの場所====
241行目: 241行目:
 
  # mysql -u root -p  
 
  # mysql -u root -p  
 
   mysql> use mt
 
   mysql> use mt
  Reading table information for completion of table and column names
+
  [[R]]eading table information for completion of table and column names
 
  You can turn off this feature to get a quicker startup with -A
 
  You can turn off this feature to get a quicker startup with -A
 
   
 
   
  Database changed
+
  [[Database]] changed
 
   mysql> show tables;
 
   mysql> show tables;
 
  +-------------------+
 
  +-------------------+
261行目: 261行目:
 
  kill [Id]
 
  kill [Id]
  
===SQL===
+
===[[SQL]]===
 
====制約を無視してテーブルをtruncateする====
 
====制約を無視してテーブルをtruncateする====
*一旦、FOREIGN_KEY_CHECKSを0にする
+
*一旦、FO[[R]]EIGN_KEY_CHECKSを0にする
  mysql> SET FOREIGN_KEY_CHECKS=0;
+
  mysql> SET FO[[R]]EIGN_KEY_CHECKS=0;
 
  mysql> truncate table hoge;
 
  mysql> truncate table hoge;
  mysql> SET FOREIGN_KEY_CHECKS=1;
+
  mysql> SET FO[[R]]EIGN_KEY_CHECKS=1;
 
===mysqlコマンド===
 
===mysqlコマンド===
====ソースファイルのSQLを実行====
+
====ソースファイルの[[SQL]]を実行====
 
  \.<ファイル名>
 
  \.<ファイル名>
 
====データベースの変更====
 
====データベースの変更====
289行目: 289行目:
 
====JDBC Download====
 
====JDBC Download====
 
*http://dev.mysql.com/downloads/connector/
 
*http://dev.mysql.com/downloads/connector/
====C#から接続====
+
====[[C#]]から接続====
 
  using MySql.Data.MySqlClient;
 
  using MySql.Data.MySqlClient;
 
  using System;
 
  using System;
301行目: 301行目:
 
         {
 
         {
 
             var pgm = new Program();
 
             var pgm = new Program();
             pgm.AccessTest();             
+
             pgm.[[Access]]Test();             
 
         }
 
         }
 
   
 
   
         public void AccessTest()
+
         public void [[Access]]Test()
 
         {
 
         {
             // Unable to convert MySQL date/time value to System.DateTime
+
             // Unable to convert [[MySQL]] date/time value to System.DateTime
 
             // https://stackoverflow.com/questions/2934844/unable-to-convert-mysql-date-time-value-to-system-datetime
 
             // https://stackoverflow.com/questions/2934844/unable-to-convert-mysql-date-time-value-to-system-datetime
             var conInfo = $"Database=wordpress;Data Source=192.168.0.2;User Id=root;Password={password}; pooling = false; convert zero datetime=True";
+
             var conInfo = $"[[Database]]=wordpress;Data Source=192.168.0.2;User Id=root;Password={password}; pooling = false; convert zero datetime=True";
 
              
 
              
 
             using(var conn = new MySqlConnection(conInfo))
 
             using(var conn = new MySqlConnection(conInfo))
320行目: 320行目:
 
                 foreach (DataTable table in ds.Tables)
 
                 foreach (DataTable table in ds.Tables)
 
                 {
 
                 {
                     foreach (DataRow row in table.Rows)
+
                     foreach (Data[[R]]ow row in table.[[R]]ows)
 
                     {  
 
                     {  
 
                         foreach (DataColumn col in table.Columns)
 
                         foreach (DataColumn col in table.Columns)

2020年2月16日 (日) 04:29時点における版

目次

MySQL

Database | CentOS |

インストール

Windows

Ubuntu(apt-getでインストール)

$ sudo apt-get install mysql-server
  • 途中でパスワードの設定を求められる

0816 mysql password.png

CentOS(yumからインストール)

手順

$ sudo yum localinstall mysql80-community-release-el7-3.noarch.rpm
yum update
$ sudo yum install mysql-community-server

ダウンロード

MySQL Community Server


アカウントの登録

  • mysql グループと mysqlユーザーの作成
# groupadd mysql
# useradd -g mysql mysql

解凍

$ tar xvf MySQL-5.6.13-1.linux_glibc2.5.i386.rpm-bundle.tar

インストール

  • 標準の最低限のインストールには、サーバーとクライアント RPM をインストールします。
  • RPM はまた MySQL サーバーを運用するためのユーザー mysql (存在しない場合) のログインアカウントを作成する
  • サーバーがブート時に自動的に起動するように適切なエントリを /etc/init.d/ に作成する
# rpm -ivh MySQL-shared-5.6.13-1.linux_glibc2.5.i386.rpm
# rpm -ivh MySQL-shared-compat-5.6.13-1.linux_glibc2.5.i386.rpm 
# rpm -ivh MySQL-server-5.6.13-1.linux_glibc2.5.i386.rpm
# rpm -ivh MySQL-client-5.6.13-1.linux_glibc2.5.i386.rpm 

<blockquote>serverインストール時に、初期パスワードの情報がコンソールに出力される</blockquote>

A random root password has been set. You will find it in '/root/.mysql_secret'.

<blockquote>もしくはログに出力されている</blockquote>

/var/log/mysqld.log | grep "temporary password"
開発で必要(Djangoなど)
# rpm -ivh MySQL-devel-5.6.13-1.linux_glibc2.5.i386.rpm 

起動と停止

CentOS
# /sbin/service mysql start
Starting MySQL...                                          [  OK  ]
# /etc/init.d/mysql stop
Shutting down MySQL..                                      [  OK  ]
CentOS7
# systemctl enable mysqld
# systemctl start mysqld
Ubuntu
$ sudo /etc/init.d/mysql start
$ sudo /etc/init.d/mysql stop
$ sudo /etc/init.d/mysql restart
mysqld_safe(mysqld のラッパ)
shell> cd mysql_installation_directory
shell> bin/mysqld_safe & 

起動設定がされたか確認

# chkconfig | grep "mysql"
mysql          	0:off	1:off	2:on	3:on	4:on	5:on	6:off

権限の初期設定

忘れたパスワードをリセット

mysqldを--skip-grant-tables オプションで起動
# mysqld --skip-grant-tables &
mysqld サーバに接続
# mysql -u root mysql
新しいパスワードの設定
mysql> update user set Password=PASSWORD('newpassword')
    -> where User='root';
Query OK, 4 rows affected (0.11 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
rootパスワードの変更
mysql> set password for 'root'@'localhost' = password('newpassword');
Query OK, 0 rows affected (0.00 sec)
パスワードの設定 MySQL8
mysql> set password for 'wordpress'@'localhost' = 'your password';

初期の権限変更ツール mysql_secure_installation

  • 初期パスワード /var/log/mysqld.log | grep "temporary password"
# mysql_secure_installation 
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] n
Reload privilege tables now? [Y/n] Y

All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

Cleaning up...

簡易設定

バージョンの確認

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.0.77    | 
+-----------+
1 row in set (0.00 sec)

MySQL 簡易設定

データベースの作成

作成

# mysql -u root -p
mysql> create database test_db default character set utf8;
Query OK, 1 row affected (0.00 sec)
文字コード

確認

mysql> show create database test_db;
+----------+------------------------------------------------------------------+
| Database | Create Database                                                  |
+----------+------------------------------------------------------------------+
| test_db  | CREATE DATABASE `test_db` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+------------------------------------------------------------------+
1 row in set (0.00 sec)

権限

  • 接続を許可するユーザーをmysqlデータベース内で管理している
  • ユーザーがアクセスする際にはアクセス元のホスト(IPアドレス)もセットで認証が行われる

権限テーブル

テーブル名 説明
user ユーザーの基本的な定義
host ホストに対する権限の定義
db データベースに対する権限の定義
tables_priv テーブルに対する権限の定義
clumuns_priv カラムに対する権限の定義

ユーザーの作成

mysql> create user test_user@localhost;
Query OK, 0 rows affected (0.03 sec)

権限の付与

限定して付与
mysql> grant create,alter,select,insert,update,delete,index on *.* to test_user@localhost identified by 'newpassword';
Query OK, 0 rows affected (0.00 sec)
管理権限を付与
  • test_admin@localhost を作成した上で管理権限を付与
  • リモートアクセスを可能とするには、test_admin@localhost の部分を test_admin@'%' とする
mysql> grant all privileges on *.* to test_admin@localhost identified by 'newpassword' with grant option;
Query OK, 0 rows affected (0.00 sec)

外部から接続

ポートを開ける

# firewall-cmd --permanent --zone=public --add-port=3306/tcp
# firewall-cmd --reload

root@%を追加

確認
mysql> select user,host from mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| pma              | localhost |
| root             | localhost |
| wordpress        | localhost |
+------------------+-----------+
ユーザーの追加
mysql> create user 'root'@'%' identified by 'パスワード';
mysql> set password for 'root'@'%' = 'パスワード';
mysql> grant all on *.* to 'root'@'%';
確認
mysql> select user, host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| pma              | localhost |
| root             | localhost |
| wordpress        | localhost |
+------------------+-----------+

バックアップとリストア

mysqldump

  • 通常mysqldumpコマンドを使用する
  • データをテキストファイルとしてダンプするというシンプルな仕組みのコマンド
  • CREATE TABLE および INSERT文として出力される

テーブル名を指定してダンプ

mysqldump [オプション] データベース名 [テーブル名 ...]

複数のデータベースを対象とする

mysqldump [オプション] --databases [オプション] データベース名 [データベース名 ...]

すべてのデータベースを対象とする

mysqldump [オプション] --all-databases [オプション]

バックアップ

# mysqldump --default-character-set=utf8 -uroot -p mt > mt_backup20140120.sql
Enter password: 

レストア例

  • mysqldumpの出力はSQL文の羅列であるため、復元するにはリダイレクトを使ってmysqlに結果を与えれば良い
# mysql -u root -p mt < mt_backup20140120.sql

Tips

管理

データファイルの場所

/etc/my.cnf
datadir=/var/lib/mysql

テーブル一覧を表示

# mysql -u root -p 
 mysql> use mt
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
 mysql> show tables;
+-------------------+
| Tables_in_mt      |
+-------------------+
| mt_asset          | 
| mt_asset_meta     | 
| mt_association    | 
      :
| mt_ts_funcmap     | 
| mt_ts_job         | 
+-------------------+
44 rows in set (0.00 sec)

セッションの確認と切断

show processlist;
kill [Id]

SQL

制約を無視してテーブルをtruncateする

  • 一旦、FOREIGN_KEY_CHECKSを0にする
mysql> SET FOREIGN_KEY_CHECKS=0;
mysql> truncate table hoge;
mysql> SET FOREIGN_KEY_CHECKS=1;

mysqlコマンド

ソースファイルのSQLを実行

\.<ファイル名>

データベースの変更

use

ヘルプ

help

テーブル定義を確認

show create table テーブル名

テーブル一覧

show tables

ポートを調べる

mysql> show variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+
1 row in set (0.00 sec)

プログラミング

JDBC Download

C#から接続

using MySql.Data.MySqlClient;
using System;
using System.Data;

namespace Mt2Wp
{
    class Program
    {
        static void Main(string[] args)
        {
            var pgm = new Program();
            pgm.AccessTest();            
        }

        public void AccessTest()
        {
            // Unable to convert MySQL date/time value to System.DateTime
            // https://stackoverflow.com/questions/2934844/unable-to-convert-mysql-date-time-value-to-system-datetime
            var conInfo = $"Database=wordpress;Data Source=192.168.0.2;User Id=root;Password={password}; pooling = false; convert zero datetime=True";
            
            using(var conn = new MySqlConnection(conInfo))
            {
                conn.Open();

                var da = new MySqlDataAdapter("select * from wp_posts", conn);
                var ds = new DataSet();
                da.Fill(ds);

                foreach (DataTable table in ds.Tables)
                {
                    foreach (DataRow row in table.Rows)
                    { 
                        foreach (DataColumn col in table.Columns)
                        {
                            Console.Write($"{row[col]}\t");
                        }
                        Console.WriteLine("");
                    }
                }
            }
        }
    }
}