今回は、RubyプログラムからMySQLの操作がしたい場合に、mysql2というライブラリを利用してMySQLへアクセスする方法を紹介したいと思います。mysql2はRuby on Railsでも利用されているライブラリで、RailsのActiveRecordと組み合わせて利用される事も多いですが、今回はRubyのプログラムからアクセスする方法を紹介したいと思います。 検証環境 第10回 yum, rpmインストールにおけるMySQL 5.6とMySQL 5.7の違いで紹介されたyumリポジトリーを使用したインストールを利用しています。また、MySQLのバージョンは5.7.22を使用しています。つい先日(2018年4月19日)、MySQ L8.0もGAになりましたが、今回は5.7を利用して説明を行っていきます。 mysql2をインストールする際に、mysqlのヘッダファイルが必要となる
TL;DR MySQL 5.7 MySQL 8.0 真面目な説明 Unicode と UTF-16, UTF-8 MySQL への応用 データベースサーバーの character set データベースサーバーの collation MySQL 5.7 collation: utf8mb4_general_ci collation: utf8mb4_bin collation: utf8mb4_unicode_ci MySQL 8.0 collation: utf8mb4_0900_ai_ci collation: utf8mb4_0900_bin collation: utf8mb4_general_ci collation: utf8mb4_ja_0900_as_cs collation: utf8mb4_ja_0900_as_cs_ks collation: utf8mb4_unico
概要 Docker-composeでSinatra + Nginx + MySQL を動かす時のハマりポイント - Qiitaのプログラムをdocker-composeで動かしていた時に🍣=🍺問題やハハ=パパ問題に遭遇しました。 その際、対処のためにmysqlの文字コードの設定を変えたかったのですが、結構ハマったのでメモです。 🍣=🍺問題?ハハ=パパ問題? 以下が参考になります。 MySQL と寿司ビール問題 - かみぽわーる MySQL で utf8 と utf8mb4 の混在で起きること - @tmtms のメモ 解決策としては文字コードは基本的にutf8mb4を使って、mysqlの設定でcollation-server=utf8mb4_binとすればよさそう。 docker-composeでmysqlの設定を変えるときの注意点 docker-composeにはサービスごとにc
Ubuntu(18.04 LTS)でmysql-serverをmariadb-serverで置き換えるとsystemd経由でmariadbが起動できない。 追記この記事には一部誤りがあります。 以下の記事も合わせてご覧ください。 トラブルタイトルの通りです。 Ubuntu 18.04で発生したトラブルですが、他のバージョンでも起こり得そうな予感がします。おそらく。 $ sudo apt install mysql-server $ sudo apt purge mysql-server $ sudo apt install mariadb-server とすると、最後のapt installが妙に遅い事に気が付きます。 コレは、aptがインストール後におせっかいでmariadbを起動してくれるのですが、何らかの原因でしばらく経ってもmariadbが起動しないためです。 その後、system
元ネタはMySQL Casualのslack この辺以降 それを見て、 そういや自分も2年前(DB移行時)にこれ調べたなー 社内メンバーに改めてちゃんと周知しよう なんか記事書くか という軽い備忘録的な感じ。 ちなみに、揃えないとどうなるか? slackにもあったように、 インデックスが効かない!(抽出はできる) 試しにテストテーブルを作る(個人の趣味が多分に含まれているのは気にしないこと) 使った環境はMySQL8.0.13 CREATE TABLE `test1` ( `test1_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'testID1', `test1_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '名前', `test1
MySQLには、Windows版のインストーラが用意されているので、まずはそれをダウンロードしましょう。 https://dev.mysql.com/ 上部タブメニューの「Downloads」をクリックします。 左サイドメニューの「MySQL Installer ( Windows )」をクリックします。 MySQLのインストーラには、Web経由でダウンロードしながらインストールするインストーラ(上)とインターネットが繋がっていなくてもインストールできるインストーラ(下)があります。ここでは、Web経由でインストールするので上の「Download」をクリックします。 ※このインストーラで、32ビット版/64ビット版の両方がインストールされます。 「Oracle Web account」のログインを促されますが、ログインしなくても(アカウントを持っていなくても)インストーラをダウンロードでき
環境 Ubuntu16.04 MySQL5.7.20 現象 久々にMySQL使ってPHP動かそうと思って環境整えようとしたら MySQLにrootでログインできなくて詰まった $sudo apt-get install mysql-server $ mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) ナニコレー とりあえず調べる 原因と解決方法 どうやらMySQL5.7でmysql-serverをインストールした時にrootのパスワードを設定しないと上記のエラーが出てログインできないらしい(パスワード設定しろとかいわれてない気がするんだよなぁ・・) これを解決するにはセーフモードで起動する必要がある。 一回起動しているMySQLを落としてからセーフモ
Ubuntu 18.04 LTS が、2018年4月26日(日本時間27日)にリリースされた。 そこで、新規に「Ubuntu 18.04 LTS Server」をインストールしたので備忘録を残す。 インストール媒体の入手 下記URLから、イ... 準備 MySQLサーバとクライアントツールのインストール $ sudo apt install mysql-server mysql-client Ubuntu 16.04 LTS Serverでは、インストール時にパスワードを設定する画面が表示されたが、Ubuntu 18.04 LTS Serverでは、次項で説明する「mysql_secure_installation」コマンドでパスワードは設定する。 サービスの起動確認 $ sudo service mysql status ● mysql.service - MySQL Community
とか実行してあげればOKです。 オプションは適当に付けてください。 それでは詳細を書いていきます。 元々phpMyAdminのエクスポート機能を使ってバックアップを取っていたのですが、 いちいち「phpMyAdmin」を起動するの面倒くさいなーと思っちゃったのが今回のきっかけです。 横着、バンザイ\(--)/ ほんで、あれやこれやと書いて、出来上がったのがこちらφ(--) <?php //DB情報 $id = "ユーザID"; $pwd = "パスワード"; $db = "データベース名"; //出力ファイル名 $fileName = dirname(__FILE__) . '/db_dump.sql'; //コマンド生成 //「/usr/bin/mysqldump -u $id -p$pwd $db > $fileName 」 $cmd = '/usr/bin/mysqldump'; $
新しいプロジェクトでは、過去に同じような構成をDockerで作っていればDockerfileを流用しています。 さて、 今回は、最新のMySQLイメージを使う際に発生する問題について記載していきます。 イントロダクション この記事で得られること MySQLの古いバージョンから、8.0系に移行した際に生じる問題についてわかる。 久しぶりにMySQLのイメージを使ったらエラーが起きた時の対処方法がわかる 環境 ツール 種類 バージョン Docker 18.03.1 ライブラリ 種類 バージョン laravel 5.5 状況 Laravelでアプリケーションを作っています。 Dockerで使うイメージは、ApacheとMySQLそれぞれの最新イメージを使用しています。 MySQLのDockerfileは下記です。 FROM mysql COPY ./docker-entrypoint-initd
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く