HTML/CSS/JavaScriptの練習 local Webサーバ MySQL Inst

https://seesaawiki.jp/lifewithslackzaurus/d/HTML/CSS/JavaScript%a4%ce%ce%fd%bd%ac%20local%20Web%a5%b5%a1%bc%a5%d0 で、ApacheをWebサーバでmakeし、
DBはDB4にしたが、MySQLも試しておく。

Apacheの依存が、DB4とMySQLで干渉するかは調べてないが、一応外しておいた。
$ sudo removepkg /var/log/packages/db-4.4.20-arm-1
$ sudo removepkg /var/log/packages/apr-util-1.2.8-arm-1
($ sudo removepkg /var/log/packages/apr-1.2.8-arm-1 apr本体は干渉しないんじゃ? 実行しなかった)
($ sudo removepkg /var/log/packages/httpd-2.2.4-arm-1 apa本体は干渉しないんじゃ? 実行しなかった)

httpd-2.2.4:
入れ換え無しでやってみる。

apr-1.2.8:
入れ換え無しでやってみる。

apr-util-1.2.8:
先にmysqlをmake/installした。
ここで保留した。今は他にやりたい事があるのでしない。後でやる。Node.jsを先に試す。
https://seesaawiki.jp/lifewithslackzaurus/d/HTML/CSS/JavaScript%a4%ce%ce%fd%bd%ac%20local%20Web%a5%b5%a1%bc%a5%d0%20Node%2ejs

mysql-5.0.37:
(/mnt/card/slackware-12.0/source/ap/mysql/mysql.SlackBuild を参考に、)
$ tar xjf /mnt/card/slackware-12.0/source/ap/mysql/mysql-5.0.37.tar.bz2
$ cd mysql-5.0.37
$ CFLAGS=”-O2 -march=armv5te” CXX=gcc CXXFLAGS=”-O2 -march=armv5te -felide-constructors \
\ -fno-exceptions -fno-rtti” \
\ ./configure –prefix=/usr –with-mysqld-user=mysql \
\ –with-unix-socket-path=/var/run/mysql/mysql.sock –localstatedir=/var/lib/mysql \
\ –enable-assembler –with-raid –without-debug \
\ –enable-thread-safe-client –without-bench –with-extra-charsets=complex \
\ –with-vio –with-openssl –program-prefix=”” –program-suffix=”” \
\ arm-linux-gnueabi
$ make
(途中の激しいswapでSDカードではSegFaultしたのでswapをCFに切り替え、突破後、
\またSDに交代した)
$ mkdir ~/package-mysql
$ make install DESTDIR=~/package-mysql (エラーがなければ以降sudoで実行)
$ rm -rf ~/package-mysql
$ sudo mkdir ~/package-mysql
$ sudo chown -R root:root ../mysql-5.0.37
$ sudo make install DESTDIR=~/package-mysql
$ sudo mkdir ~/package-mysql/etc
$ ( cd support-files; sudo cp my-huge.cnf my-large.cnf my-medium.cnf my-small.cnf ~/package-mysql/etc )
$ cd ~/package-mysql
\ install docs
$ sudo mkdir -p usr/doc/mysql-5.0.37/Docs
(続くDocsは入れなかった。メモも省略)
\ this is the directory where databases are stored
$ sudo mkdir -p var/lib/mysql
$ sudo chown mysql.mysql var/lib/mysql
$ sudo chmod 750 var/lib/mysql
\ this is where the socket is stored
$ sudo mkdir -p var/run/mysql
$ sudo chown mysql.mysql var/run/mysql
$ sudo chmod 755 var/run/mysql
\ Do not include the test suite:
$ sudo rm -r usr/mysql-test
\ Add init script:
$ sudo mkdir -p etc/rc.d
\ This is intentionally chmod 644.
$ sudo sh -c ‘zcat /mnt/card/slackware-12.0/source/ap/mysql/rc.mysqld.gz > etc/rc.d/rc.mysqld.new’
\ Install script:
$ sudo mkdir install
$ sudo sh -c ‘zcat /mnt/card/slackware-12.0/source/ap/mysql/doinst.sh.gz > install/doinst.sh’
$ sudo sh -c ‘cat /mnt/card/slackware-12.0/source/ap/mysql/slack-desc > install/slack-desc’
\ Add some handy library symlinks:
$ cd usr/lib
$ sudo ln -sf mysql/libmysqlclient.so . ; sudo ln -sf mysql/libmysqlclient.so.15 .
$ sudo ln -sf mysql/libmysqlclient_r.so . ; sudo ln -sf mysql/libmysqlclient_r.so.15 .
$ cd ../..
$ sudo strip –strip-unneeded usr/bin/* usr/lib/mysql/* usr/libexec/*
\ Packaging standards:
$ sudo rm -f usr/info/dir
$ sudo gzip -9 usr/info/* usr/man/man?/*.?
$ sudo makepkg ../mysql-5.0.37-arm-1.tgz
$ sudo installpkg ../mysql-5.0.37-arm-1.tgz

初期設定と練習:
installと練習は、普段使いのSZ-12にDB-4とaprを入れたまま、mysqlをinstallpkgして使ってみた。
/etc/rc.d/rc.mysqldを参考に、
$ sudo su – mysql
mysql@~$ mysql_install_db
Installing all prepared tables
Fill help tables
\
To start mysql at boot time you have to copy support-files/mysql.server to the right place for your system
\
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password ‘new-password’
/usr/bin/mysqladmin -u root -h darkstar password ‘new-password’
See the manual for more instructions.
\
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &
\
You can test the MySQL daemon with the benchmarks in the ‘sql-bench’ directory:
cd sql-bench ; perl run-all-tests
\
Please report any problems with the /usr/bin/mysqlbug script!
\
The latest information about MySQL is available on the web at http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
mysql@~$ exit
\
$ sudo sh /etc/rc.d/rc.mysqld start (普段はmysqlを使わないので+xしない)
Starting mysqld daemon with databases from /var/lib/mysql
\
$ mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.37 Source distribution
\
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
\
mysql> create database mytestdb;
Query OK. 1 row affected (0.12 sec)
mysql> status
Current database にはなってない。
mysql> exit
$ mysql -u root mytestdb
mysql> status
Current database: mytestdb
mysql> create user ore@localhost; ( identified by ‘passwd’、は入れなかった)
Query OK. 0 rows affected (0.01 sec)
mysql> select host,user,password from mysql.user;
(メモ省略)
mysql> grant all privileges on mytestdb.* ore@localhost;
Query OK. 0 rows affected (0.01 sec)
mysql> exit
$ mysql -u ore mytestdb
mysql> status
(メモ省略)
ググってみると、rootでDBアプリを操作すると他のDBに影響があるからするな、と。
次回からは、mysqlへsuして/etc/rc.d/rc.mysqldを実行する。
identified by ‘passwd’、を設定した場合のmysql-shellへのログインがうまくいかない。
/etc/passwdにあるのと同じ情報でないとダメなのか?

参考URL:
mysql -u root、でググった:
https://www.dbonline.jp/mysql/database/index1.html
https://www.dbonline.jp/mysql/user/index1.html
https://www.karakaram.com/mysql-user-grant/
https://www.saintsouth.net/blog/mysql-user-and-permissions/
何かでググった:
http://ftp.kddilabs.jp/Linux/distributions/Slackware/slackware-12.0/source/ap/mysql/
GCC rtti、でググった:
http://www.asahi-net.or.jp/~wg5k-ickw/html/online/gcc-2.95.2/gcc_2.html
\-fno-implicit-templates
暗黙のうちに(つまり、使用されることによって)インスタンス化される非インライン・テンプレートのコードを決して出力しません。明示的なインスタンス生成のコードだけを出力します。 詳細については、テンプレート・インスタンスの存在箇所を参照してください。
\-fno-rtti
C++の実行時型識別機能(`dynamic_cast’や`typeid’)によって使われる情報の生成を無効にします。C++言語のこれらの機能(あるいは、`dynamic_cast’を内部的に使用する例外処理機構)を使わない場合、このフラグによってある程度領域を節約することができます。
\-fexceptions
例外処理を有効にし、例外を伝播するために必要となる追加のコードを生成します。ターゲットによっては、暗黙のうちに、すべての関数に対してフレーム解放のための情報が生成されることになります。これによって、処理の実行そのものが影響を受けることはありませんが、データ・サイズのオーバーヘッドは非常に大きくなります。
\-fno-elide-constructors
C++標準では、同一型の別のオブジェクトを初期化するためだけに使われるテンポラリの生成を省略することが許されます。このオプションを指定するとそのような最適化が無効になり、すべての場合にコピー・コンストラクタを呼び出すようg++に強制します。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です