ITエンジニアぽむのブログ

IT系で気になったことを書き留めておく備忘録です。仕事でよく使っているJavaと自宅で使っているLinuxについて書いていこうと思っています。同じお悩みをお持ちの方のお役に立てたら嬉しいです。

MySQLワークベンチのDB接続で困ったこと!

MySQLには、テーブル作成やテーブル操作(データの追加や削除など)する際にCUIで操作する方法とGUIで操作する方法があります。

MySQLでテーブル操作するにはGUIの方が便利なので、MySQLGUIで操作できるワークベンチをインストールしたいと思います。

GUIで操作する際も内部的にはCUIで使うコマンドと同じものが実行されています。

GUIグラフィカルユーザーインターフェースの略で画面操作をすることでテーブルやデータを作成できるツールのことです。それとは逆にCUIはキャラクターユーザーインターフェースの略で文字操作のみでテーブルやデータを作成するツールのことです。

本ページ引っ越しのご案内

本ページは引っ越しました。

お手数ですが、続きは下記URLまでアクセスください。

iteng-pom.com

 

 

(Webアプリを構築しよう)MySQL5.7をLinux(Ubuntu18.04LTS)にインストールする!

まえがき

Webアプリケーションを作成する際には必ずデータベースが必要になってきます。なぜなら、Webアプリケーションに表示されているデータは、すべてデータベースに格納されているからです。

本ブログでは、Struts2フレームワークでWebアプリケーションを構築していきたいのですが、その前に必要となるデータベース(今回はMySQL)のサーバー環境とクライアント環境をインストールしたいと思います。

サーバー環境は、実際にデータが格納されているデータベース本体のことです。

クライアント環境は、データベースに格納されているデータを操作する(テーブルを作ったり、見たり、消したりなど)ための環境のことです。

サーバとクライアントのインストール

  • 下記コマンドを実行します。
$sudo apt install mysql-server mysql-client
  • バージョンを確認します。
$mysql --version
mysql Ver 14.14 Distrib 5.7.26, for Linux (x86_64) using EditLine wrapper

※「MySQL 5.7.26」をインストールすることができました。

初期設定

  • 下記コマンドを実行して、MySQLの初期設定を行います。
$sudo mysql_secure_installation

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No: n
Please set the password for root here.

New password:

Re-enter new password: 
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.

Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Dropping test database...
Success.

- Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

※「VALIDATE PASSWORD pluginを設定する」は「n」で、残りはすべて「y」で設定しました。adminのパスワードの設定も行っています。

接続の確認

  • 下記コマンドを実行します。
$sudo mysql -u root -p

※初期設定で設定したパスワードを入力します。

  • 接続後、下記コマンドを実行します。
mysql> status
--------------
mysql Ver 14.14 Distrib 5.7.26, for Linux (x86_64) using EditLine wrapper

Connection id: 5
Current database: 
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.7.26-0ubuntu0.18.04.1 (Ubuntu)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 14 min 54 sec

Threads: 1 Questions: 19 Slow queries: 0 Opens: 113 Flush tables: 1 Open tables: 106 Queries per second avg: 0.021
--------------

※Server charactersetとDb charactersetがlatin1、Client charactersetとConn. charactersetがutf8となっています。サーバ側とクライアント側で文字コードが違うので、このまま使うとテーブル内の日本語が文字化けしてしまいます。

文字コードの変更

  •  設定ファイルをバックアップします。
$sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.org.cnf
  • 設定ファイルに2行追加します。
character-set-server = utf8
default_password_lifetime = 0

[mysqld]セクションに追加してください。
※「character-set-server」はサーバ側の文字コードを設定しています。
※「default_password_lifetime」はパスワードの有効期限を無制限に設定しています。

  • MySQLサービスを再起動します。
$sudo systemctl restart mysql
  • 再度、MySQLに接続後、ステータスを確認すると、サーバ側文字コードもutf8となっています。
mysql> status
--------------
mysql Ver 14.14 Distrib 5.7.26, for Linux (x86_64) using EditLine wrapper

Connection id: 2
Current database: 
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.7.26-0ubuntu0.18.04.1 (Ubuntu)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 9 sec

Threads: 1 Questions: 5 Slow queries: 0 Opens: 105 Flush tables: 1 Open tables: 98 Queries per second avg: 0.555
--------------

あとがき

MySQL 5.7を無事インストールすることができました。

これで、データベース本体やデータベースを操作する環境が整ったことになります。

実際にテーブルを作成したりやデータを登録したりする方法については、下記リンクを参考にして下さいね。

MySQLワークベンチのDB接続で困ったこと! - ITエンジニアぽむの備忘録

MySQLワークベンチを使って、テーブルを作成してみた! - ITエンジニアぽむの備忘録

最後までお読み頂きありがとうございました。

Struts2ブランクプロジェクトのエラーを解消する!

まえがき

STSStruts2のブランクプロジェクトを作成すると、エラーが出ており実行することができません。

エラーを解消し、実際に画面表示させるまでの手順を今回説明したいと思います。

Struts2でのブランクプロジェクトの作成方法については、下記リンクを参考にして下さいね。

pom2019.hatenablog.com

サーバにプロジェクトを追加

  • サーバエディタの「ローカルホストのTomcat v.9.0サーバー」を右クリックして、追加および除去をクリックします。

f:id:pom2019:20190518164153p:plain

  • 「使用可能」内のStruts2プロジェクトを選択して、追加をクリックします。

f:id:pom2019:20190518164251p:plain

  • Struts2プロジェクトが構成済みに移動します。
  • 完了をクリックします。

f:id:pom2019:20190518165110p:plain

Mavenプロジェクトの更新

  • Struts2プロジェクトを右クリックして、Maven>プロジェクトの更新をクリックします。

f:id:pom2019:20190518165345p:plain

  • 使用可能なMavenコードベース内で、Struts2プロジェクトが選択されていることを確認して、OKをクリックします。

エラーの解消

  • 「ローカルホストのTomcat v.9.0サーバー」を始動します。
  • log4j-coreをクラスパスに追加してください」とエラーが出て、正常に始動できません。

f:id:pom2019:20190518170050p:plain

  • log4j-coreをpox.xmlに追加して、Mavenプロジェクトを更新します。

f:id:pom2019:20190518173731p:plain

  • 再度、「ローカルホストのTomcat v.9.0サーバー」を始動します。

f:id:pom2019:20190518173921p:plain

f:id:pom2019:20190518174046p:plain

あとがき

Struts2ブランクプロジェクトを画面表示させることができました。

Struts2ブランクプロジェクトを作成したけど実行できない」とお悩みの方に役立てれば嬉しいです。

今回はサーバー起動時に出るエラーに関する修正だったのですが、ブランクプロジェクトを作成したら、pom.xmlの依存関係が間違っていてMavenの更新が通らないなんてこともあります。

最後までお読み頂きありがとうございました。

STS3でStruts2のブランクプロジェクトを作成する!

まえがき

STSStruts2フレームワークのブランクプロジェクトを導入したいと思います。

ブランクプロジェクトとは、指定したフレームワークの最小構成で作成されたプロジェクトのことです。

Struts2のブランクプロジェクトは、Maven設定のアーキタイプを設定することで、作成することができます。

Mavenの設定

  • メニューでウインドウ>設定をクリックします。
  • Maven>アーキタイプをクリックします。

f:id:pom2019:20190506052854p:plain

  • リモート・カタログの追加をクリックします。
  • カタログ・ファイルに「http://struts.apache.org/」と入力します。(説明は空白のままでOKです)

f:id:pom2019:20190506052920p:plain

  • 検証をクリックします。(「7 個のアーキタイプが見つかりました」と出ればOKです)

f:id:pom2019:20190506052940p:plain

  • OKをクリックします。
  • 適用して閉じるをクリックします。

f:id:pom2019:20190506053024p:plain

プロジェクトの作成

  • メニューで新規>プロジェクトをクリックします。
  • Maven>Mavenプロジェクトをクリックします。

f:id:pom2019:20190506053006p:plain

  • デフォルトのままで次へをクリックします。

f:id:pom2019:20190506053046p:plain

  • Mavenの設定で追加したリモート・カタログを選択します。

f:id:pom2019:20190506053106p:plain

f:id:pom2019:20190506053123p:plain

f:id:pom2019:20190506053143p:plain

  • バージョンはそのままで完了をクリックします。
  • 必要ファイルのダウンロード完了後、プロジェクトが作成されます。

f:id:pom2019:20190511195810p:plain

あとがき

アノテーションベースのStruts2プロジェクトを作成することができました。

(アノテーションベースとは、アクションパスやリダイレクトパスなどをすべてアノテーションで設定できるようしたプロジェクトのことです)

最後までお読み頂きありがとうございました。

ブランクプロジェクトを作成した段階ではエラーが出ているので、エラーを解消しブランクプロジェクトを実行する手順については、下記URLを参考にして下さいね。

 

pom2019.hatenablog.com

STS3にサーバ設定(Tomcat9)を追加する!

STS3には、Springに最適化されたPivotal tc Serverというサーバが同包されており、Tomcat9をインストールしなくてもWebアプリケーションを開発することができます。

また、Pivotal tc ServerにはSpring Insightというリアルタイムで実行しているWebアプリケーションをモニタリングするツールが付いているので、環境をTomcat9にするという制約が付いていないのなら、Pivotal tc Serverを使うことをおすすめします。

本ページ引っ越しのご案内

本ページは引っ越しました。

お手数ですが、続きは下記URLまでアクセスください。

iteng-pom.com

(Webアプリを構築しよう)STS3をLinux(Ubuntu18.04LTS)にインストールする!

まえがき

STS(Spring Tool Suite)は、EclipseベースでSpringプロジェクトを開発するために作成された統合開発環境(Integrated Delelopment Environment、略してIDE)です。

Springを開発するためとありますが、今回作成しようと思っているStruts2STSMavenプロジェクトから作成することができます。

STS4では動的Webプロジェクトが作成できないことが判明したため、今回、STS3をUbuntuにインストールすることにしました。

STS3のインストール

  • Linux版STS3をダウンロードします。

spring.io

  • ダウンロードしたファイルを解凍します。
tar xvfz spring-tool-suite-3.9.8.RELEASE-e4.11.0-linux-gtk-x86_64.tar.gz
  • 解凍されたフォルダを「/opt/.」に移動します。
sudo mv sts-bundle /opt/.
  • ショートカットランチャの登録を行います。
sudo gedit /usr/share/applications/sts3.desktop
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=STS3
Comment=The official IDE for Spring application development
Exec=/opt/sts-bundle/sts-3.9.8.RELEASE/STS
Icon=/opt/sts-bundle/sts-3.9.8.RELEASE/icon.xpm
Terminal=false
Type=Application
Categories=Application;IDE;Development;java;
  • お気に入りに登録します。

f:id:pom2019:20190511185404p:plain

  • STS3を日本語化する方法、STS3にDarkest Dark Themeを適用する方法については前回までのブログで書いているのでよろしければ参考にして下さいね。

STSを日本語化して、英語のエラーメッセージから解放される! - ITエンジニアぽむの備忘録

STSにEclipseの「Darkest Dark Theme」をインストールする! - ITエンジニアぽむの備忘録

  • STS3のインストールが完了しました。

f:id:pom2019:20190506174038p:plain

あとがき

STS3を無事インストールすることができました。

本キャプチャは、既にEclipseの「Darkest Dark Theme」がインストールされた後のものになっています、ご了承下さい。

最後までお読み頂きありがとうございました。

STSにEclipseの「Darkest Dark Theme」をインストールする!

STSのルック&フィールにはDarkスタイルが初めから用意されています。しかし、(私的な好みですが)とりあえずダークにしました的な感じであまり好きではありません。

今回、Eclipseでよく使われているEclipse用のDarkest Dark Themeプラグインをインストールして本格的なダークスタイルに変更したいと思います。

本ページ引っ越しのご案内

本ページは引っ越しました。

お手数ですが、続きは下記URLまでアクセスください。

iteng-pom.com

 

STSを日本語化して、英語のエラーメッセージから解放される!

まえがき

以前はSTSを英語のまま使っていたことがあるのですが、メニューやエラーメッセージが英語で表示されます。

英語のメニューにはある程度は慣れることができるのですが、英語のエラーメッセージには難しい単語も含まれており慣れることができませんでした。しかも、英語のエラーメッセージを検索すると英語のサイトが主に検索結果として表示されてしまいます。

英語のサイトから有用な情報を得ることもできますが、やはり日本語サイトから検索する方が分かりやすいですね。

今回はSTSで開発を始める前にまずSTSを日本語化することにしました。

STSのインストール方法については下記リンクに書いているのでよかったら参考にして下さい。

pom2019.hatenablog.com

LinuxSTSの日本語化

mergedoc.osdn.jp

  • 圧縮ファイルを解凍します。
unzip pleiades.zip
  • pluginsフォルダとfeaturesフォルダの中身をSTSインストールフォルダのpluginsフォルダとfeaturesフォルダにコピーします。
sudo cp -r ./plugins/jp.sourceforge.mergedoc.pleiades /opt/sts-4.2.1.RELEASE/plugins/.
sudo cp -r ./features/jp.sourceforge.mergedoc.pleiades /opt/sts-4.2.1.RELEASE/features/.
  • SpringToolSuite4.iniファイルをバックアップし、SpringToolSuite4.iniファイルに追記します。
cd /opt/sts-4.2.1.RELEASE
cp SpringToolSuite4.ini SpringToolSuite4.org.ini
gedit SpringToolSuite4.ini
-startup
plugins/org.eclipse.equinox.launcher_1.5.300.v20190213-1655.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.1000.v20190125-2016
-product
org.springframework.boot.ide.branding.sts4
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Xverify:none
-javaagent:/opt/sts-4.2.1.RELEASE/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

※下2行を追記しました。

  • STSを起動します。

f:id:pom2019:20190503014940p:plain

あとがき

STSが無事、日本語化されました。

SpringToolSuite4.iniファイルに指定するpleiades.jarファイルを初め相対パスにしていたのですが、STSが起動しなくなるトラブルがありました。その後、readmeファイルを読んでいたらmac絶対パスで指定してくださいとあったので、Linuxも同様に絶対パスにすると無事日本語化することができました。

最後までお読み頂きありがとうございました。

新しいパソコンをLinuxとのデュアルブートにした!

令和元年を機にブログを始めました!

本ブログを作成している「ぽむ」と申します。

語呂がいいのと平仮名で書いた感じが好きなので、ネーミングしました。

主にJavaでの開発経験があるITエンジニアです。 仕事で分からないことがある際は、よくグーグルさんにお世話になるのですが、やっぱりお世話になるだけじゃなくて、自分も誰かのお役に立ちたい! ブログ歴は浅いですが、誰かのため自分のためにブログを書いていこうと思っています。

まえがき

このブログでは、自宅で主に触っているLinux(Ubuntu)に関しての話題とプログラム言語であるJava言語に関しての話題を初心者にも分かりやすく綴っていきたいなと思っています。

何かと至らない点もあるとは思いますが、長い目で見ていただけるとありがたいです。

ブログに関する質問や取り上げてほしいテーマなどがございましたら、気軽にコメントして下さいね!

弟もアメリカの情報や英語の勉強方法などを発信しているブログを書いています。興味のある方は是非見てみて下さい!

ttapioka.com

newパソコン

以前は、中古パソコンを使っていました。
Window10は使えるのですがパソコン自体が古いのとハードディスク容量が逼迫するようになったので、今回、新品パソコンを買い替えることにしました
新品パソコンは「パソコン工房」さん製で、46000円程です。
新調したパソコンのスペックは下記の通りです。
Windows10に関してはドキュメント作成とメールのみで使おうと思っているので、全く問題ないスペックだと思います。
それに加えて、Javaの開発を行いたいがWindows10環境は触りたくなかったため、パソコンをLinux(Ubuntu18.04LTS)とのデュアルブートにしました。
 
デュアルブートに関しては、旧パソコンでも行っていたので、手順としては、全く問題なかったです。
ただ、旧パソコンでは、Ubuntu16.04LTSを使っていたのですが、その時は、Linux環境からWindows環境の読み書きが行えていました。
しかし、Ubuntu18.04LTSでは、Linux環境からWindows環境へは、読み込みのみしかできないようになっていて、使い勝手が16.04に比べて、劣る印象です。
それでも、Linux環境からWindows環境にアクセスして、cpコマンドでポータブルHDDへのバックアップは行えるので、使い方を限定すれば、納得できるレベルです!
 
バックアップなどは、バッチ(コマンドをまとめたもの)を走らせる方がGUIで実行するよりも慣れているので、Windows環境とLinux環境を同時にバックアップする際は便利です。

デュアルブートについて

えび天サーバさんのページを参考にして、デュアルブート環境を構築しました。(えび天サーバさんありがとうございます。)

このサイトでは、Ubuntu16.04LTS環境のデュアルブートについて書いてあるのですが、Ubuntu18.04LTSについても同様にデュアルブートにすることができます。

また、ライブUSBというUSBブートできる環境を使っているのですが、私は、Ubuntu18.04LTSのisoファイルからライブDVDを作ってDVDブートで、Ubuntu18.04LTSをインストールしました。

www.abten.net

Linuxでの無線LAN(WiFi)について

Linux(Ubuntu18.04LTS)で無線LAN(WiFi)を使っていたのですが、全く安定して接続できませんでした。

そのため、Linux Supportと書いてある子機を購入して接続してみましたが、それでも全く安定しませんでした。

結局、無線LANの中継器を購入し、中継器からLANケーブルを介してパソコンに接続することで解決しました。

(中継器を介せば無線の部分を中継器が担ってくれるので、パソコンからすれば普通のLAN接続と変わりません)

中継器を介してからインターネット接続が途切れることはなくなりました。

Ubuntu16.04LTSでインターネット接続する際も接続する子機で苦労した記憶があるので、Linuxをインターネットに接続する際は、中継器やLANケーブルで接続することを強くおすすめします。

おまけ

UbuntuAndroid Studioをインストールして、簡単なプロジェクトを動かしてみましたが、
エミュレータが重すぎて動きませんでした。。
(プロジェクトを動かしたい時は、携帯端末をUSB接続して動かすことができるので、エミュレータが動かせなくてもAndroid開発は可能です)
 
KVM対応パソコン(※KVM対応パソコン→Linux端末用にAndroid Studioエミュレータが最適化されているらしい)は、エミュレータが端末並みに早いと書いてあったのですが、パソコンがロースペックすぎるのか反応が極端に遅かったです、、
 
KVM起動設定については下記を参考にしました。

あとがき

ブログを最後までお読み頂きありがとうございました。

また、はてなスターはてなブックマークを頂いている方、本当にありがとうございます。ブログを続けることへの励みになっています。

拙い文章ですが、ブログを続けることで皆様に喜んでもらえるように、また、文章を書くことで文章力も向上していけたらなと思っています。

今後ともよろしくお願い申し上げます。