Database

データベース

1) MySQL

2) PostgreSQL

 

 

 

MySQL

データベースMySQLについて

 

インストールおよび環境設定

 ・CentOS / RedHat  ・Debian  ・Windows  ・Macintosh

 

  • MySQL 5.5 から 5.7へアップグレード(Debian Jessieの場合)

まず、データベースのバックアップ、現状の確認、MySQLを停止、apt-get remove でMySQL 5.5 を削除、MySQL 5.7 インストール、MySQL再起動の手順です。

dpkg -l | grep 'mysql'  で現状の確認

削除するMySQL 5.5 環境の確認(mysql-client  mysql-server  mysql-common  mysql-community-client  mysql-community-server  mysql-utilites など)

インストール ここを参考に  

mysql-server 再起動

MySQL 5.5から5.7へプログラムをアップグレードした後、データベースをアップグレードします。

Linuxのコマンドラインで、 $ sudo mysql_upgrade -uroot -p

 

  • MySQL 5.7 から 8 へのアップグレード(Ubuntu 18.04の場合)

アップグレードの手順 ここを参考に  

  • Add MySQL APT repository
  • Update APT index and install MySQL server
  • Manage mysql.service

 

  • Mariadb-server のインストール(Debian 10 buster)

Debian 8 や Debian 9 からDebian 10へMySQLをアップグレードした場合など、MySQLおよびMariaDBの設定環境が混在して、MySQLが起動しない場合がありました。

apt remove --purge コマンドでも設定ファイルなどが削除されない場合があります。

my.cnf の設定などは、次のサイトを参考に確認し、調整します。https://beyondjapan.com/blog/2016/03/2002-mysql-socket-error/

それでも動作が不安定、起動しない場合は、Debian 10を再インストールすることも解決策です。

 

  • MariaDB-server 10.5 へのアップグレード (Debian 9 Stretch)

アップグレードの手順  ここを参考に

  • Data Backup
  • uninstall old version
  • install new version
  • start server
  • upgrading data directory
  • test 

 

  • MariaDB 10.1 から 10.3 へのアップグレード (Debian 9)

アップグレードの手順  ここを参考に

 

  • MariaDB-server 10.5 へのアップグレード (Debian 10 Buster)

アップグレードの手順  ここを参考に

  • Data Backup
  • uninstall old version
  • install new version
  • start server
  • upgrading data directory
  • test 

 

  • MariaDB の my.cnf (Ubuntu Ubuntu 20.04.6 LTS)

Ubuntuではデフォルトで /etc/my.cnf ファイルがないので、自分で追加しました。他の設定方法もあるようですが。

/etc/my.cnfに以下の内容を追記

[mysqld]
innodb_buffer_pool_size=4G
max_allowed_packe=20M
innodb_log_buffer_size=256M
innodb_thread_concurrency=24

MariaDB再起動  sudo systemctl restart mysql    sudo systemctl restart mysqld

 

local以外の外部から接続する設定

作業中です。

 

 

コマンドの基礎

 

MySQLユーザーのパスワードを設定

環境: MySQL 5.0

・GRANT文でユーザー登録、パスワード指定

mysql > GRANT SELECT ON データベース名.フィールド名 TO 'ユーザー'@'ホスト' IDENTIFIED BY 'パスワード';

・SET PASSWORD文でパスワード設定

mysql > SET PASSWORD FOR 'ユーザー'@'ホスト'=PASSWORD('パスワード');

・UPDATE文でパスワード設定

mysql > UPDATE user SET Password=PASSWORD('パスワード') WHERE User='ユーザー' AND Host='ホスト';

mysql > FLUSH PRIVILEGES;

※ 権限テーブルを直接変更した場合は、FLUSH PRIVILEGES を実行し、テーブルを再度読み込み、権限の変更を反映させます。 mysqladminコマンドの場合 $ mysqladmin -uユーザー -hホスト password パスワード ・ユーザー登録 あらゆる操作ができるユーザーを登録

mysql > GRANT ALL PRIVILEGES ON *.* TO ユーザー IDENTIFIED BY 'パスワード'

mysql > GRANT ALL PRIVILEGES ON *.* TO 'ユーザー'@'ホスト' IDENTIFIED BY 'パスワード';

・ユーザーの削除

mysql > DROP USER 'ユーザー'@'ホスト';

 

データベースの作成、削除

 

・mysqladminを使う方法

$ mysqladmin -uroot -p create データベース名

$ mysqladmin -uroot -p drop データベース名

・SQLでの場合

mysql > CREATE DATABASE データベース名;

mysql > DROP DATABASE データベース名;

 

データベースのダンプ

・mysqldumpコマンドの場合

gzipで圧縮

# mysqldump -u user -p データベース名 | gzip > dbname.dump.gz

 

リストア(インポート)する場合

zcat dbname.dump.gz | mysql -u user -p データベース名

パスワードはコマンドラインで入力します

sudoの場合は sudo zcat インポートファイル.sql.gz | sudo mysql -uユーザ名 -pパスワード DB名

 

すべてのデータベースのバックアップとリストア

・mysqldumpコマンドの場合

mysqldump -u root -p --all-databases > ~/backup.sql

cp -r /etc/mysql ~/

・リストア

mysql -u root -p < ~/backup.sql

 

 

オープンソースソフトウェア: 

phpMyAdmin

phpMyAdminについて

 

インストールについて

 

環境: CentOS 5.5   PHP 5.3.4  MySQL 5.1.54  phpMyAdmin 3.3.8.1

 
ダウンロードした phpMyAdmin-3.3.8.1-all-languages.tar.gz を解凍し、phpMyAdmin-3.3.8.1-all-languages という解凍後のディレクトリをApacheのDocumentRootにコピーもしくは移動させて、ディレクトリ名を phpMyAdmin と設定します。
 
phpMtAdminのディレクトリにある、config.sample.inc.phpのファイルをコピーして、config.inc.php というファイル名にします。その後、以下の設定をします。
 
以下のところに、使用するURLを記入します。
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin/';
 
スタンドアロン的に使う場合の簡単な方法として、以下のcookieではなくhttpで設定できます。テストとして使用した場合。
$cfg['Server'][$i]['auth_type'] = 'cookie';
 
ファイルを保存後、http://....DocumentRoot/phpMyAdmin/  でログインし、MySQLのユーザー名とパスワードでログインします。 インターネット上ではセキュリティを意識した追加の設定をします。

 

Debianへインストール

環境 Debian 8.2 

aptitude -y install phpmyadmin

  apache2 を選択  設定 dbconfig-common ?  いいえ を選択

/etc/phpmyadmin/apache.conf  編集   # Autorize for setup の下のRequire valid-user の上に Require ip 127.0.0.1 10.0.0.0/24  を記入

 </IfModule>
        Require ip 127.0.0.1 10.0.0.0/24
         Require valid-user
    </IfModule>

apache2 の再起動  sysemctl restart apache2 など

 

タグ: 

オープンソースソフトウェア: 

PostgreSQL

データベース PostgreSQL について

 

インストール

Debianの場合

 

PostgreSQL 10 とDebian Stretch

参考にしたサイト https://tecadmin.net/install-postgresql-on-debian/

事前準備: PostgreSQLはデフォルトでTCP/IPポートの5432を使用します。接続できるようにTCPポートの確認をします。

参考にしたサイト: https://blogs.yahoo.co.jp/wyamamo/27832288.html

< 参考 > Debian 9 (Stretch) - ファイアウォール設定

 https://www.mk-mode.com/octopress/2017/08/16/debian-9-firewall-setting/

TCP/IPポートの外部から確認方法

 nc -v -z -w 3 <サーバのアドレス> <ポート番号>

 

1)PostgreSQLの公式レポジトリからダウンロードするためのキーを取得します

 wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -

詳細は、PostgreSQLの公式サイトでDebian(Ubuntu)のインストール手順を確認します。

https://www.postgresql.org/download/linux/ubuntu/

 

2)レポジトリをDebianのaptソースに登録

 sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

 

3)PostgreSQLサーバーのインストール

PostgreSQL公式サイトのレポジトリからダウンロード、インストール

 sudo apt-get update
 sudo apt-get install postgresql postgresql-contrib

 

4)PostgreSQLデータベースに接続

インストール時に、postgresというユーザーとその権限’postgres’、および、Debianのユーザーアカウント 'postgres'というユーザーも作成します。

もし、ユーザー作成などが出来なかった場合は、以下の手順で作成します。

 a) adduser postgres

  

postgresユーザーでデータベースに接続して確認し、Drupalなどのインストールで必要なPostgreSQLデータベースのユーザー(例えばpgadmin)を作成

参考にしたサイト: http://symfoware.blog68.fc2.com/blog-entry-1999.html

 sudo su - postgres
 psql

 $ createuser --pwprompt --interactive pgadmin

ログインできるかテストします。

 $ psql -U pgadmin -d postgres -h localhost

テストとしてデータベースを作成してみます

 postgres=# create database sample;

データベースの一覧表示

 postgres=# \l

 

5)外部接続ができるか、設定の確認

postgresql.conf の編集

 vim /etc/postgresql/9.6/main/postgresql.conf

 listen_addresses = '*'  の追加

pg_hba.confの編集

接続を許可するIPの範囲を指定(全てから接続許可する場合)

 vim /etc/postgresql/9.6/main/pg_hba.conf

 host    all             all             0.0.0.0/0         md5 

 

6)PostgreSQLの再起動

 service postgresql restart

 

 

タグ: 

オープンソースソフトウェア: