MariaDB (MySQL) のデータベースをダンプする手順を紹介します。 概要 MariaDB (MySQL) でデータベースをバックアップしたいことがあります。MariaDB ではデータベースのバックアップは「ダンプ」と呼ばれる作業を実行して、データベースのすべての情報をSQLのコマンドファイルとして出力します。 手順(すべてのデータベースをバックアップする) コマンドプロンプトから、下記のコマンドを実行します。(SQLのコマンドプロンプトではありません。)
個人的な覚書。 WSL版Ubuntu 16.04にMySQLの導入・起動・データベース作成・削除のコマンドとPython 3.5.2から接続するためのmysqlclient導入やデータベース確認方法などもメモ。 試用環境 ・Windows 10 バージョン1709 ・(WSL)Ubuntu 16.04 ・Python 3.5.2 ahiru8usagi.hatenablog.com ahiru8usagi.hatenablog.com MySQLの導入~データベース確認~削除 MySQLライブラリインストール $ sudo apt-get install -y mysql-server libmysqlclient-dev #libmysqlclient-devは開発用のパッケージ $ mysqld --version #mysqlのバージョン確認 MySQLの状態確認/開始/停止 $ s
sudo apt update sudo apt install mysql-client # 必要なら sudo apt install mysql-server MySQL server をインストールすると root ユーザーのパスワードを設定するように言われるので入力する。 サービス開始 sudo service mysql start ホームディレクトリが無いと言われたら、 sudo usermod -d /var/lib/mysql mysql を実行する。 それでも失敗したら…ログを見て cat /var/log/mysql/error.log 、 [ERROR] Can't start server: Bind on TCP/IP port: Permission denied [ERROR] Do you already have another mysqld serve
# mysqlは全て停止 sudo /etc/init.d/mysql stop sudo killall mysqld # セーフモードのような?起動方法 # mysqld_safeの位置はディストリやmysqlインストール時の設定で各人で異なるかと sudo /usr/bin/mysqld_safe -u root --skip-grant-tables & mysql mysql # ココでrootのパスを空値で設定 # この時点でも設定できるはずらしいのですがウチでは上手く行きませんでした mysql> UPDATE user SET Password='' WHERE Host='localhost' and User='root'; FLUSH PRIVILEGES; # 一旦はmysqlを抜けます exit mysqladmin password -u root # ココでパ
float型は小数部を含んで6桁までであれば、入力した値そのままに保存出来ます。 簡単に用途をまとめると、こんな感じでしょうか。 小数点以下桁数を揃えて正確に扱うならば、demical型またはdouble型を使う (例:緯度経度情報) 小数部を含んで6桁まで入力された通りに保存する用途であれば、float型を使う そのまま保存したい場合には、varchar型を使う double型とdemical型との違いは次のページがとても詳しいです。 緯度経度情報などdemicalの方が望ましいのですが、double型の方がパフォーマンスは良いです。 Decimal’s declaration and functioning is similar to Double. But there is one big difference between floating point values and de
MySQLのデータ型としてFLOAT型という型があるのですが、これを採用するのは混乱の元ではないか?と感じたので、その詳細を紹介します。 そもそもこの話のきっかけは「MySQLで6桁までの小数点を丸めずに扱うならFLOAT型を使うべき理由」という記事が目に止まったことです。それなりに人気を集めている記事のようですが、私の読んだ限りではFLOAT型を使うだけの根拠が文中から読み取れず、さらに類似する一次情報や英語記事が全く見つからなかったので、真偽が怪しい情報だと感じました。 その後、MySQL上で実験したりCソースコードを読んでみたりした結果、私の得た結論は真逆のものになりました。MySQL警察の方や浮動小数点数警察の方、追試や反論など頂けると助かります。 MySQLのFLOAT型とは MySQLのFLOAT型は原則としてIEEE754浮動小数点数単精度型(32bit)で実現されます*1。
9章 ラウンディングエラー(丸め誤差)より floatを使う場合に精度に注意すべきという点については同意です。 SELECT * FROM Accounts WHERE hourly_rate = 59.95; このため、account_idが123の行hourly_rate列にサイド59.95を割り当てても、リテラル値59.95とは等価になりません。 Accounts.hourly_rateがfloat型のとき、MySQLとは異なりPostgreSQLでは、このクエリは59.95が格納された行を返却する。 これはMySQLでのfloat型が単精度であるのに対して、PostgreSQLのfloat型は倍精度だからだ。単精度浮動小数点型であるreal又はfloat4を使うとMySQLと同様マッチしなくなる。 この時点でもうfloatのことなんて考えたくなくなるところだ。 さてAccounts
今回は Python の O/R マッパーである SQLAlchemy と MySQL ドライバの mysqlclient を使ってマルチバイト文字を扱うときの注意点について書いてみる。 ただし RDBMS については MySQL ではなく、代わりに MariaDB を使った。 注意点というのを先に書いてしまうと、接続先 URL で charset を指定するのを忘れないようにしましょうというところ。 使った環境は次の通り。 $ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) $ uname -r 3.10.0-327.18.2.el7.x86_64 MariaDB をセットアップする まずは下準備として MariaDB をインストールして設定する。 CentOS 7 では標準の RDBMS が MySQL ではなく
リポジトリの標準でないバージョンにmysqlを入れたいとき、mysql-community-serverを入れることはよくあると思います。 その関連でひっかかったエラーを忘備録として残します。(あんまりググっても引っかからなかったので) 遭遇したエラーと解決策 エラー pip install flask-mysqldb時にOSError: mysql_config not found 解決策 sudo yum install mysql-community-devel 遭遇したエラー pip install flask-mysqldb 以下のエラーメッセージ Collecting flask-mysqldb Using cached Flask-MySQLdb-0.2.0.tar.gz Requirement already satisfied (use --upgrade to upgr
WEBのシステム開発はPHPを使用していますが、データ解析等のため Python3 の研究を始めました。Python3 は日本語の情報がとても少ないので、エンジニアや学生の皆さんに役立ちそうなことをブログ記事として共有できればと思います。 この記事では Python3 で MySQL に接続する方法、エラー処理(例外処理)、サンプルによるCRUD(※)、PHPer向け注意点についてまとめました。なおサンプルは Django 等、特定フレームワークの ORM ではなく、SQLの直接実行例です。 SQLite3 は Python3でSQLite3を使う – 基本操作からエラー処理までサンプルコード付を参照ください。 ※ CRUD とは Create(生成)、Read(読み取り)、Update(更新)、Delete(削除)の略です。MySQL の場合Read に相当するのは主に Select 文
Python 3 から MySQL を操作する方法を調べると Python 2 の情報や古い情報が多くヒットしてわかりづらかったのでまとめる。 環境は Python 3.6 を利用している。 パッケージ mysqlclient というパッケージもあるが、MySQL 公式の mysql-connector-python-rf というパッケージがあるので今回はこちらを使う。 [2018-12-03 追記] mysql-connector-python-rf は更新が止まっており、同じく MySQL 公式の mysql-connector-python というパッケージがあるらしいので注意。詳しくはコメント欄を参照。 ふたつのパッケージのメリデメはあまりわかっていないが、mysqlclient でクエリの結果をディクショナリとして扱う方法を見つけられなかったので個人的には mysql-conne
MySQLのIllegal mix of collations (latin1_swedish_ci,IMPLICIT)のエラーについて 2016/1/24 · permalink mysql 以外と原因に気づかなかったりするんですよねこれ。 MySQLを使っていて、たまに以下のようなエラーが起きる事があります。 [SQLで例外(Message=[Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like'], ErrorCode=1267, SQLState=HY000)が発生しました。 エラーメッセージ通りなら、文字コードが何か誤っている、という事なのですが、具体的に何が原因なのでしょう。 よくあるエラーケース MySQLのバージョン
mysqlの文字コードはチェックする場所が多いので原因を突き止めるのに毎回苦労します。 大きく二種類に分けられて、 クライアント側、サーバー側(mysqlサーバー)、及びそれらの接続の文字コード データベース/テーブル/カラムの文字コード です。 デフォルトをきちんと設定しておく そもそも作成したDBの文字コードが意図しない設定になっていたら、デフォルトの設定が間違っている可能性が高いので、再度同じ問題を起こさないためにも、設定見直し→DBをdrop→DBをcreateという順番で直しに行きます。 1も2もデフォルトの設定は下記を実行すればok。 +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+-----------
RDSではDefaultでcharacter-setにlatin1が割り当てられる為、日本語を利用する際はutf8などに変更してあげる必要がある。 Step1 RDSダッシュボードの左メニューからParameter Groupsを選択する。 Create DB Parameter Groupを選択し、 DB Parameter Group Family DB Parameter Group Name DB Parameter Group Description をそれぞれ選択し、設定を行うDBの種類、パラメータグループの名前と説明を入力し、"Yes, Create"で作成 Step2 パラメータグループが出来たことを確認したら、作成したグループの詳細ページからEdit Parametersを選択し、 character_set_client character_set_connection
問題 AWSのRDSにMySQLのインスタンスを作成し、RailsからDBを作成した際に、日本語が文字化けしていた。 RDSは下記の手順で作成していた インスタンスの作成 パラメータグループの作成し、下記の項目にutf8を選択 character_set_client character_set_connection character_set_database character_set_results character_set_results 作成したインスタンスのパラメータグループを2.で作成したパラメータグループに変更 インスタンスの再起動 これで日本語対応完了と思っていた。 実際にRailsのアプリからデータを投入すると、投入したデータの日本語が文字化けしている。 EC2にSSHで接続し、EC2からRDSにmysqlCommandでアクセスしてDBの状態を確認する。 mysql
Docker で MySQL を使った Ruby on Rails の開発環境を構築してみたので、その作業メモです。Docker for Mac のおかげで、Docker がかなり使いやすくなっていました。 — 環境 — Docker version 1.12.0 Ruby 2.3.1 Rails 5.0.0.1 Mac OS X El Capitan Docker for Mac をインストール まずは、以下の Getting Started に沿って Docker をインストールします。 Getting Started Docker でよく使うコマンド等に慣れておくと進めやすいかと。よく使うコマンドについては、以前に書いた Docker 入門記事もご参考下さい。 Docker入門、VM上でLinuxコンテナ立ち上げ〜基本操作まで | EasyRamble Docker の Rails
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く