MySQLのインストール
MySQLをインストールするには、公式サイトよりMySQLをダウンロードします。
[参考記事] WindowsでMySQLをインストールする方法
[参考記事] PHPでMySQLなどにPDO接続をすると、could not find driverのエラーが出る場合
MySQL公式サイト
ダウンロード
rpmでインストール
yumでインストール
Debianでapt-get install
Cannot find MySQL header files
rpmでインストール
公式サイトでは、Linux に MySQL をインストールする方法として RPM パッケージの使用を推奨しています。
ディストリビューションのバージョン・CPUにあったRPMをダウンロードしますが、
コマンド(ターミナル)より直接ダウンロードする場合はURLを調べて、wgetコマンドを実行します。
例:Red Hat Enterprise Linux 5 RPM (x86) 5.1.40バージョン
ダウンロード
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-server-community-5.1.40-0.rhel5.i386.rpm/from/http://ftp.jaist.ac.jp/pub/mysql/ wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-client-community-5.1.40-0.rhel5.i386.rpm/from/http://ftp.jaist.ac.jp/pub/mysql/ wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-devel-community-5.1.40-0.rhel5.i386.rpm/from/http://ftp.jaist.ac.jp/pub/mysql/
インストール
インストールはroot権限で実行します。
rpm -i MySQL-server-community-5.1.40-0.rhel5.i386.rpm rpm -i MySQL-client-community-5.1.40-0.rhel5.i386.rpm rpm -i MySQL-devel-community-5.1.40-0.rhel5.i386.rpm
これでインストールは完了し、MySQLが起動しています。
またOS再起動時にも自動的にMySQLは起動します。
インストール直後はMySQLのrootパスワードは設定されていません。
インストールが完了したら、すぐにパスワードを設定しましょう。
RPMでインストールした場合にはMySQLのパス設定がされているため、どのユーザでもMySQLコマンドが実行できます。
次のコマンドでMySQLにログインします。
mysql -u root
次のSQL文を実行し、root権限に設定されているホスト名を調べます。
SELECT Host, User FROM mysql.user;
| 127.0.0.1 | root | | localhost | | | localhost | root | | localhost.localdomain | | | localhost.localdomain | root |
すべてのホストに対して、パスワードを設定します。
パスワードの設定コマンドは下記のようになります。
SET PASSWORD FOR root@【ホスト名】=PASSWORD('【パスワード】');
上の例では次のようになります。
SET PASSWORD FOR root@127.0.0.1=PASSWORD('【パスワード】'); SET PASSWORD FOR root@localhost=PASSWORD('【パスワード】'); SET PASSWORD FOR root@localhost.localdomain=PASSWORD('【パスワード】');
『 % 』がホスト名にあった場合には『 ' 』で囲います。
SET PASSWORD FOR root@'%'=PASSWORD('【パスワード】');
MySQLから抜けるコマンドは『 ¥q 』です。
mysql> \q
次のコマンドでMySQLのroot権限にパスワードが設定されているか確認します。
mysql -u root -p
『 Enter Password: 』と出るのでパスワードを入力します。
次のようにしてもMySQLにログインできますが、やってはいけません。
mysql -u root -p 【パスワード】
この場合、コマンドで『 history 』を実行すると、MySQLのパスワードを知ることができます。
yumでインストール
インストール
インストールはroot権限で実行します。
yum install mysql yum install mysql-devel yum install mysql-server
-y を付けるとYes/Noの確認なくインストールされます。
yum -y install mysql yum -y install mysql-devel yum -y install mysql-server
このときMySQLサーバは立ち上がっていません。またOS起動時にも立ち上がりません。
OS起動時の自動起動
OS起動時に立ち上がるようにするには次のコマンド。
chkconfig mysqld on
起動時に立ち上がるかどうかを確認するには
chkconfig --list mysqld
2,3,4,5がonになっている場合は通常モードでOSを起動したときにMySQLは起動します。
MySQLサーバの起動
MySQLサーバをコマンドで立ち上げるには次のコマンド。
service mysqld start
初回起動時にはファイルの初期化をするなどといった次のような表示が出ます。
MySQL データベースを初期化中: Installing MySQL system tables... OK Filling help tables... OK To start mysqld 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 【サーバ名】 password 'new-password' Alternatively you can run: /usr/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. 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 mysql-test-run.pl cd /usr/mysql-test ; perl mysql-test-run.pl Please report any problems with the /usr/bin/mysqlbug script! [ OK ] mysqld を起動中: [ OK ]
この表示の中には『rootのパスワードを設定してください』とあります。
rootパスワードの設定
/usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h 【サーバ名】 password 'new-password'
を実行してパスワードを設定します。
Debianでのインストール
Debianではapt-getでインストールできます。
apt-get install mysql-server mysql-client libmysqlclient15-dev
Cannot find MySQL header files
PHPでPDO-MySQLをインストールする際に、headerファイルやclient libraryがないとエラーが出ることがあります。
rpmではMySQL-devel、apt-getではlibmysqlclient15-devがインストールされていない場合にエラーが発生します。
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
このように出る場合は、MySQLサーバが起動していないかソケットの指定が間違っています。
関連記事
- コマンドやプロセス名から検索して一括でkillする方法
- PostgreSQLでSCRAM authentication requires libpq version 10 or aboveと出るとき
- Apacheで所有権や書き込み権限があるにも関わらずPermissions deniedが出る場合
- SSDの現在のTBWを調べる方法 SSDの残り寿命 (Windows Linux CentOS)
- RAIDの種類
- ソフトウエアRAIDでストレージを構築しマウントする方法 ディスクの高速化・冗長化
- NTFSのディスクをLinuxにマウントすると読み込み専用でマウントされてしまう
- Ubuntu/Debian/Raspberry PiでChia Network(XCH)をHDDマイニングする方法
- CentOSでChia Network(XCH)をHDDマイニングする方法
- CentOSにHomeBridgeをインストールする方法
- GnuTLS: The Diffie-Hellman prime sent by the server is not acceptable (not long enough).の解決法
- Linux・WindowsでMTUを変更する方法(ジャンボフレーム)
- LinuxでPDFを画像に変換したりテキストを抽出する方法
- Logitec HDDケース(HDD4台用) ガチャベイ LHR-4BNHEU3 LGB-4BNHEU3
- Linuxにffmpegをインストールする方法 CentOS Stream
- SELinuxのpermissiveとdisableの違い
- SELinuxを無効にする方法
- SELinuxの管理で使用するsemanageコマンドをインストールする方法
- LinuxにImageMagickをインストールする方法 CentOS Stream
- Linuxでrarファイルを圧縮・解凍する方法(CentOS)
- NTFSフォーマットのストレージの読み書きが異常に遅い場合
- Linuxで接続されているUSBのバージョンを確認する方法
- Linuxでストレージの型番やシリアルを確認する方法(HDD SSD NVMe)
- CPUやストレージの温度を調べる方法(CPU HDD SSD NVMe)
- CentOS7からCentOS8へのアップグレード
- 各ストレージの速度一覧 規格速度や実効速度(HDD/SSD/M2/NVMe/USBメモリ)
- Poderosa5で「インデックスが配列の境界外です。」と出る場合の対処法(CentOS8 Ubuntu)
- マウントするときに、$MFTMirr does not match $MFT NTFS is either inconsistent, or there is a hardware faultのエラーが出る場合
- Sambaで認証パスワードなし(ゲストユーザー)でアクセスする方法
- Amazon Linux2をローカルのVirtualBoxで起動する方法
- VirtualBox Interfaceが起動していてシャットダウンができないとき
- Gitを自動的にpullする方法(常に最新の状態にする)
- Gitの最新版をインストールする方法(CentOS7に2系をインストール)
- SSHで初めて接続するホストで、接続するかどうかyes/noを聞かれないようにする
- HPのパソコンでVirtualBoxが起動しない(HP ProtectTools Security Manager)
- yumのius(iuscommunity.org)でエラーが出る場合
- iusリポジトリで公開されているパッケージの一覧
- GoogleChromeでSSL接続を強制される設定(HSTS)のキャッシュを消す方法
- phpMyAdminでログイン画面を出さずにデータベースに接続する方法
- さくらサーバ(さくらのレンタルサーバ)でcronを使ってPHPを定時実行する
- php.ini が見つからない時
- PHPでMySQLなどにPDO接続をすると、could not find driverのエラーが出る場合
- ホスト名(ドメイン)をローカルIPに名前解決させる方法(ローカルDNS不要)
- MySQLやMariaDBは標準ではログローテートされない
- SONYのnasneをLinuxにマウントする方法
- 数日おきに設定したcronの実行が1日ずれる理由
- LinuxでNTFS(Windows形式)のフォーマットをする方法
- target is busyやdevice is busyをumountする方法
- /dev/random と /dev/urandom の違い
- 2TBを超えるHDDを増設する方法(パーティション・フォーマット)
- 破損したストレージからのデータ復旧
- HDDやSSDなどのストレージをリスト形式で表示する方法
- blkidコマンドでUUIDが表示されない場合
- HDDやSSDなどのストレージのUUIDを調べる方法
- glibcを更新するとdateコマンドが新元号の令和に対応します
- cron設定ファイルの実体の保存先
- Fail2ban ログを集計して不正アクセスを防ぐ
- mvコマンドの挙動(コピーが完了したものから削除する方法)
- 『Table is marked as crashed and should be repaired』の修復方法
- PostfixサーバからGmailサーバへメールを送信できない場合の対処法
- ImageMagick更新で『PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/imagick.so'』エラーが出る場合
- 起動時に『UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.』と出た場合の修復方法
- kernel-develのインストール
- LinuxサーバでWindowsのファイルシステムNTFSを読み込む方法
- 拡張リポジトリEPELを使用する方法(インストール)
- wgetが遅い場合の対処法
- WgetがFTPでダウンロードできない場合
- WgetがSSLでダウンロードできない場合
- Wgetの基本的な使い方など(ユーザーエージェントの設定・POSTデータの送信)
- lsコマンドで秒を表示する方法(タイムスタンプの書式指定)
- PDO_MYSQLをインストールする方法
- PEAR・PECLをインストールする方法
- シェルスクリプトを実行すると『そのようなファイルやディレクトリはありません』や『コマンドが見つかりません』と出る場合
- 画面のバックライトを消す方法(モニタ電源を消す) vbetool
- telnetの反応がなくなった時に接続を強制的に切断する方法
- サーバの負荷や使用率などを見るコマンドの一覧
- PHPでロードアベレージを表示させる方法
- Apacheで出力されるログを変更する方法 レスポンスにかかった時間やリファラ、ユーザーエージェントを記録する
- ログをリアルタイムに表示させて監視する方法
- 起動時にネットワークを有効にする方法(eth0を起動する方法)
- IPアドレスを変更する方法
- cron実行時の標準出力のメールを飛ばさない方法(cron実行時に毎回メールを飛ばさない)
- cron実行時のPATHなどの環境変数を確認する方法
- cronのメール送信先を指定する方法(cronごとに送信先のメールアドレスを指定する方法)
- cron実行時に『/bin/sh: 〜〜: command not found』と出てcronが実行されない場合
- 『crontab -r』でcronの設定を間違って消してしまった場合の対処法
- cronを実行すると『TERM environment variable not set.』というエラーメールが飛ぶ
- Apacheから2GB以上のファイルをダウンロードしようとすると403エラーが出ます
- Linux起動時の自動ファイルシステムチェックの間隔を変更する、無効にする方法
- [warn] _default_ VirtualHost overlap on port 80, the first has precedence エラー
- yumでupdateするときにconflictsエラーが出る場合 file xxx from install of xxx-jason conflicts with file from package xx.remi
- Gitをyumでインストールする方法
- vsftpdでファイルの所有者をUID(数字)ではなくユーザー名で表示する方法 chrootするとtext_userdb_names=YESできない
- SELinuxが有効になっているサーバではvsftpdのデータ転送が使用できない
- サービスに接続できるユーザー(IP)を制限する Connection closed by foreign host.
- 1枚のNIC(ネットワークカード)に複数のIPアドレスを設定する方法(Linux)
- Apacheを起動するときに、ほかのプロセスによってポートが使用されていた場合
- PEARを更新する方法
- zend_mm_heap corrupted とは
- yum コマンドでTransaction Check Error
- yumを自動で更新チェックする、自動で更新する
- httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
- Apacheをyumでインストールする
- KNOPPIX
- ディレクトリ以下のファイル数、ファイル容量を調べる
- PHPをyumでインストールする
- Linuxでホスト名を変更する方法
- Postfixからpostmaster宛に451Server configuration errorメールが届く
- Postfixの容量制限 (main.cfの設定)
- Debianのインストール
- memcachedのインストール
- Linuxのカーネル情報やディストリビューションを調べるコマンド
- Rubyのインストール
- PostgreSQLのインストール
- PHPのインストール
- zlibのインストール
- Apacheのインストール
- IPアドレスを調べる
- ファイルを検索するコマンド locate (updatedbの高速化)
- スペシャルファイル
- MergeLog 複数のログファイルを時系列に並べ替える
- CentOS5のインストール
- Another app is currently holding the yum lockとは
- yumで、より新しいパッケージをインストールする方法(CentOS)
- apacheのSSL設定
- Subversionのインストール
- 毎朝午前4時に行われる動作
- /tmpや/var/tmpのファイル消えるタイミング
- ユーザーとグループ
- ログインできるユーザーに変更する
- SSHのインストール
- OpenSSL
- RFC2142で定められた「組織で用意したほうがよいメールアドレス」のガイドライン
- named.local [Bindの設定ファイル]のデフォルト
- localhost.zone [Bindの設定ファイル]のデフォルト
- named.ca [Bindの設定ファイル]のデフォルト
- named.conf [Bindの設定ファイル]のデフォルト
- vsftpd.conf [vsftpd設定ファイル]のデフォルト
- proftpd.conf [Proftpd設定ファイル]のデフォルト
- php.ini [PHP設定ファイル]のデフォルト
- main.cf [Postfix設定ファイル]のデフォルト
- sendmail.mc のデフォルト
- httpd.conf [apache設定ファイル]のデフォルト fedora
- httpd.conf [apache設定ファイル]のデフォルト
- ディレクトリの削除
スポンサーリンク