ラベル mysql の投稿を表示しています。 すべての投稿を表示
ラベル mysql の投稿を表示しています。 すべての投稿を表示

2018年6月19日火曜日

ubuntu server 18.04 のインストール④ mysqlとphpmyadminのインストール

rootのパスワードを設定していないので 「mysql -u root」とするも「ERROR 1698 (28000): Access denied for user 'root'@'localhost'」とアクセス拒否。「sudo mysql」ならOKだったので作業を進める。

インストールでrootのパスワードを空にすると、rootの認証にはauth_socket pluginを使うように設定されるらしい。

auth_socket pluginは、MySQLクライアントを実行したlinuxユーザーを、MySQLのユーザーとして認証しようとするらしい。

このままではrootでphpmyadminにログインできませんがセキュリティの事を考えるとこのままで良いかと

ユーザーを作ってそのユーザーで'apps_alpha'、'apps_beta'、'apps_gamma'というようにデーターベースを作れるようにすれば良いんじゃない

ユーザーの作成

権限を付加

確認してみましょう

問題無いようなので

次にphpmyadminをインストールします。

「sudo apt install」でインストールしてもいいんですが今回は手動で

オフィシャルサイトからダウンロードして解凍「/var/www/phpmyadmin」に設置します。

unzipが無かったのでインストール

任意のディレクトリに置くのはルートだとやっぱりセキュリティ的に・・・任意のディレクトリにBASIC認証でもかけておけば少しはましかな、外に置くならね

phpmyadminを有効にする

apachを再起動する

phpMyAdminへログインした時に「phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています」とワーニングが出てしまうのでphpMyAdmin 環境保管領域を設置します

「sudo mysql」でmysqlに接続して

2017年10月25日水曜日

mysql timestamp型<=>datetime型に変換

datetime型をtimestampに変換

select unix_timestamp('2017-10-24 09:31:42');
-> 1508805102

 timestampをdatetime型に変換

select from_unixtime(1508805102);
-> 2017-10-24 09:31:42

select from_unixtime(1508805102, '%Y/%m/%d %H:%i:%s');
->  2017/10/24 09:31:42

2017年4月27日木曜日

サーバーのタイムゾーンが日本じゃないとき日本時間を表示する

サーバーのタイムゾーンが日本じゃないとき日本時間を表示する

2014年2月27日木曜日

Mountain Lion でApache Mysql Php環境の構築

目標はphpのフレームワークが動作できることとする。
参考にしたのは下記のページ http://coolestguyplanettech.com/downtown/install-and-configure-apache-mysql-php-and-phpmyadmin-osx-108-mountain-lion

Apache

まずはApacheのバージョン確認
ターミナルで下記のようにする
$ httpd -v
下記のように表示されたらOKです
Server version: Apache/2.2.24 (Unix)
Server built:   Jul  7 2013 18:05:17
Apacheをスタートさせます
ターミナルで
$ sudo apachectl start
パスワードを聞いてきますので入力します
ブラウザーでhttp://localhostを開きます。

このように表示されたらOKです
このシステムレベルのドキュメントルートは"/Library/WebServer/Documents/"にあります。

次にユーザーのホームフォルダーに「Sites」フォルダーを作りその中に「index.html」ファイルを作ります

以下{username}はご自分のユーザー名に置き換えて下さい

/Users/{username}/Sites/index.html

「index.html」ファイルの中身は
等適当に

"/etc/apache2/users"に{username}.confがあるかどうか確認する。

上記の絵の場合"fujisan"というアカウントなので"fujisan.conf"ができています。
ない場合は作ります。
ターミナルで
$ cd /etc/apache2/users
$ sudo nano {username}.conf
エディターが起動したら下記を入力する。 もしくはGuest.confをコピーして{username}部分だけを変更しても良い
ターミナルで
$ sudo cp Guest.conf {username}.conf
$ sudo nano {username}.conf
Apacheを再起動する ターミナルで
$ sudo apachectl start
ブラウザーで以下のURLを表示させる。
http://localhost/~{username}/


PHP

次にPHPを使えるようにします。 ターミナルで
$ php -v
PHP 5.3.28 (cli) (built: Jan 23 2014 18:02:48)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
このようにPhpは入っていますがそのままでは使えませんので。
"/etc/apache2/httpd.conf"を編集します。
ついでに".htaccess"を有効にします。
編集前にオリジナルをバックアップします。
$ cd /etc/apache2
$ sudo cp httpd.conf httpd.conf.original
$ sudo nano httpd.conf
以下の行を探します。
AllowOverride None

"AllowOverride None"を"AllowOverride all"に変更します。

次に以下の行を探します。
#LoadModule php5_module libexec/apache2/libphp5.so
"#"を削除して保存します。
Apacheを再起動します
ターミナルで
$ sudo apachectl start
先ほどの「Sites」にファイルを一つ作ります。
ファイル名は"phpinfo.php"で以下の内容を入力します。
<?php phpinfo();?>
ブラウザーで http://localhost/~{username}/phpinfo.php を表示させます。

Mac OS 10.8 にインストールされているデフォルトの PHP には timezoneが空白なのでdate関係の関数はエラーするのでtaimezoneを設定します。まず、php.ini が存在しないので、 php.ini.defaultをコピーして作成する
sudo cp /etc/php.ini.default /etc/php.ini
sudo nano /etc/php.ini

1010行目あたりの「;date.timezone = 」のセミコロンを外し「"Asia/Tokyo"」を入力する。

この5.3でもほとんどの物は動作しますが5.4や5.5にしたい方はhttp://php-osx.liip.ch/ を参考にしてインストールします。必要なエクステンションもすべてインストールされますので、手間いらずです

PHP 5.5 (Current stable)

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5

PHP 5.4 (Old stable)

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4
どちらか一つでも両方でもOK
インストール処理でsudoを使っているので、パスワードの入力を求められますので、パスワードを入力して進めて下さい
最後にインストールした方のシンボリックリンクが"/usr/local/php5"にできます。
"/etc/apache2/other/+php-osx.conf"が追加されているのでapacheを再起動すると

このようにすぐ使えます。

php.ini

php.ini ファイルは /usr/local/php5/lib/php.ini です。また、拡張毎の差分 ini ファイルが /usr/local/php5/php.d/ 以下にある。
設定を変更する際は php.ini を直接変更するのではなく、新たに差分 ini ファイルを作成して変更箇所だけを記載するのが良い。
ディフォルトでタイムゾーンが"Europe/Zurich"になっているので"Asia/Tokyo"に変更します。
$ sudo nano /usr/local/php5/php.d/99-my.ini
date.timezone = Asia/Tokyo

$ /usr/local/php5/bin/php -i | grep timezone
Default timezone => Asia/Tokyo
date.timezone => Asia/Tokyo => Asia/Tokyo
コマンドラインで使うにはpathに登録しておく
$ export PATH=/usr/local/php5/bin:$PATH
もしくは
$ cd ~
$ nano .bash_profile

PATH=/usr/local/php5/bin:$PATH

OS X 標準のphpに戻す

"/etc/apache2/other/+php-osx.conf"の名前を変更するか削除する。
名前を変えるといっても拡張子が.confであるとダメなので"+php-osx.conf.none"します。
"/etc/apache2/httpd.conf"にある "# LoadModule php5_module libexec/apache2/libphp5.so"のコメントを解除する。
$ sudo mv /etc/apache2/other/+php-osx.conf /etc/apache2/other/+php-osx.conf.none
$ sudo nano /etc/apache2/httpd.conf
apacheを再起動する。
phpがいらないなら /usr/local/php5* と /usr/local/packager を削除する
$ sudo rm -rf /usr/local/php5*
$ sudo rm -rf /usr/local/packager

MySql

Download MySQL Community ServerからMySQLをダウンロードする。
ダウンロード時にはアカウントの登録を求められるが特に費用は掛からない。
Mountein Lion のMacならほぼ64-bitなので「Mac OS X 10.X (x86, 64-bit), DMG Archive(mysql-5.X.XX-osx10.X-x86_64.dmg)」をダウンロードする。

ダウンロードしたファイルをマウントしたら、次の順番でインストールする。
  1. mysql-5.X.XX-osx10.X-x86_64.pkg
  2. MySQLStartupItem.pkg
  3. MySQL.prefPane
"/usr/local"に保存されシンボリックリンク"/usr/local/mysql"が作られる。
システム環境設定にMySql開始停止操作のペインが付きます。

PATHの設定

$ export PATH=/usr/local/mysql/bin:$PATH
もしくは".bash_profile"を書き換えてしまします。
$ cd ~
$ nano .bash_profile

PATH=/usr/local/mysql/bin:$PATH
上記の手順でphpをインストールされているなら
PATH=/usr/local/mysql/bin:/usr/local/php5/bin:$PATH

rootパスワードの設定

$ mysqladmin -u root password 'パスワード文字列'

rootでMySQLへログイン

$ mysql -u root -p

phpMyAdmin

コマンドラインだけで色々するには大変なのでPHPも入れたことですしphpMyAdminをインストールします。
phpMyAdminから「phpMyAdmin-x.x.x-all-languages.zip」をダウンロードします。
トップページにある
Download x.x.x
をクリックすると最新版がダウンロードされます。
ダウンロードしたZipファイルを"/Library/WebServer"にコピー、解凍して、
シンボリックリンク"phpMyAdmin"を作ります。
$ cd /Library/WebServer
$ sudo cp /Users/{username}/Downloads/phpMyAdmin-x.x.x-all-languages.zip phpMyAdmin-x.x.x-all-languages.zip
$ sudo unzip phpMyAdmin-x.x.x-all-languages.zip
$ sudo ln -s phpMyAdmin-x.x.x-all-languages phpMyAdmin
"phpMyAdmin"に移動して"config"フォルダーを作りApacheから読み書きができるようにグループを"_www"にします。
"config.sample.inc.php"を"config/config.inc.php"にコピーして、"config"フォルダーごとグループ書き込みを許可します。
$ cd phpMyAdmin
$ sudo mkdir config
$ sudo chgrp _www config
$ sudo cp config.sample.inc.php config/config.inc.php
$ sudo chmod -R g+wr config
phpMyAdmin.confを"/etc/apache2/other"に作ります。
$ sudo nano /etc/apache2/other/phpMyAdmin.conf
<Directory "/Library/WebServer/phpMyAdmin">
Order allow,deny
Allow from all
</Directory>

Alias /phpMyAdmin /Library/WebServer/phpMyAdmin
これでApacheを再起動するとphpMyAdminが使えるようになります。
http://localhost/phpMyAdmin/setup をクリックするとコンフィグレーションファイルの編集ができます。
通常はhttp://localhost/phpMyAdminをクリックする。

2013年6月7日金曜日

[cakphp] 特定のカラムのグループごとの最大値が格納されている行

特定のカラムのグループごとの最大値が格納されている行 「物品ごとに最高値を付けている業者 (複数可) は?」 MySQLのドキュメントによると次のようになる。 これをcakephp風に書き直すと以下のようになる。

2013年2月8日金曜日

[mysql] update 結合したテーブルの値のコピー

UPDATE  `bukken_commons` ,`bukken_sells` 
SET  `bukken_commons`.`commercial_medium` =  `bukken_sells`.`baitai` 
WHERE  `bukken_commons`.`bukken_id` =  `bukken_sells`.`bukken_id`

2012年3月21日水曜日

[webmin] mysqlのバックアップ

Backup destination の Backup to directory に
"/任意の場所/mysql_bkup/xxxx"
を設定
Create destination directory? を Yes にする。

Other backup options の Command to run after backup に
date +%m%d | xargs --replace mv -f /任意の場所/mysql_bkup/xxxx /任意の場所/mysql_bkup/{}

を入力する。
 こうすると毎日、日付のフォルダーにバックアップを格納するようにできる。

2012年3月16日金曜日

[centos] phpmyadmin のインストール

phpmyadminのインストール
wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.3.10.5/phpMyAdmin-3.3.10.5-all-languages.tar.gz
tar xzfv phpMyAdmin-3.3.10.5-all-languages.tgz.gz
mv phpMyAdmin-3.3.10.5-all-languages /var/www/phpMyAdmin
vi /etc/httpd/conf.d/phpmyadmin.conf
<Directory "/usr/share/phpmyadmin">
  Order Deny,Allow
  Deny from all
  Allow from 127.0.0.1
</Directory>

Alias /phpmyadmin /var/www/phpMyAdmin
Alias /phpMyAdmin /var/www/phpMyAdmin
Alias /mysqladmin /var/www/phpMyAdmin

2012年1月25日水曜日

php mysqlのdatetime型をformat

echo date('D, d M Y H:i:s', strtotime('2011-12-06 14:51:12');

>Tue, 06 Dec 2011 14:51:12

echo date('r', strtotime('2011-12-06 14:51:12');

>Tue, 06 Dec 2011 14:51:12 +0900

http://php.net/manual/ja/function.date.php