DBの処理を行うbashスクリプトを作成しています。 MySQL初心者。私はMacを使い、自作でMySQLをインストールしています。ログインせずにmysqlコマンドを実行するか、コマンドごとに-u rootを追加してください。
現在、ユーザー名「root」を使用していますが、pwは設定されていません。私は以下の構文をpwを含むかもしれない他の人々を助けるために含んでいます。
私の目標は、私のbashスクリプトでmysqlのコマンドは、可能な限り「クリーン」としても持つようにヒゲの契約
されていませんが、可能であればこれを行うにしたいと思います。
# If I can do it without logging in (*ideal)
mysql CREATE DATABASE dbname;
# Or by logging in with - mysql -u root -pPassword
CREATE DATABASE dbname;
# Instead of
mysql -u root -pPassword -e"CREATE DATABASE dbname";
例は、それを簡素化しようとしました。私は、私がしなければならないことがいくつかあるので、できるだけ自分のコードをきれいに保つことになります。私はbashスクリプトでログインしようとしましたが、MySQLにログインするとスクリプトは停止し、コマンドを実行しませんでした。
私は検討していた(が、本当に好きではない)別のオプションは、VARにユーザ名とPWの文字列を保持し、だから、そう
# Set the login string variable
login_details="-u root -p password -e"
# example command
mysql $login_details"CREATE DATABASE dbname";
任意のアイデアのようにすべてのcommmandのためにそれを呼び出すことだけだろうか?
あなたの最初のメソッドが動作しました。ありがとう!任意の方法で、mysqlの中でコマンドラインに文字列をエコーしたり印字する方法を知っていますか? –
それはうまく働いたと聞いてよかったです。はい、この投稿に従ってくださいhttp://stackoverflow.com/questions/8147834/how-to-echo-print-statements-while-executing-a-sql-scriptこれがうまくいかない場合は、提案を試してください。何か助けてください – Jordon
それは働いて、もう一度感謝! –