2024-10-10
Debianでしか確認できていないが、MySQLを入れようとして、
apt install mysql-server
とすると、本家のMySQLではなく「MariaDB」なるものがインストールされる。
おそらく政治的なものだろうが、本家のMySQLの開発が止まったわけでも有料になったわけでもないし、なんかモヤモヤするので、当方は一旦全部アンインストールして本家のMySQL Community Sererをインストールすることにした。
既存のMySQL(正体はMariaDB)を削除する
dpkg -l | grep mysql # 出てくるものすべて正体はMariaDBなので、1つ1つ全部消す。 # 例) apt remove --purge libmysqlclient-dev apt remove --purge libmysqlclient20 apt remove --purge mysql-apt-config apt remove --purge mysql-client apt remove --purge mysql-common apt remove --purge mysql-server # 例に出てないものもmysqlとつくものはすべて消すべし。 apt autoremove # 後処理
MySQL Community Server のインストールは
https://linuxconfig.org/how-to-install-mysql-community-server-on-debian-9-stretch-linux
そのまま行えばうまくいったのでメモ。以降コマンドはすべてrootで行う。
aptリポジトリに追加
wget http://repo.mysql.com/mysql-apt-config_0.8.13-1_all.deb apt install gdebi-core gdebi mysql-apt-config_0.8.13-1_all.deb # どのバージョンをインストールするか聞かれるので選ぶ
この状態ではまだ、
https://tecadmin.net/expired-key-expkeysig-with-apt/
にあるようにキーが古くupdateで警告が出る。
apt-key list /etc/apt/trusted.gpg -------------------- pub dsa1024 2003-02-03 [SCA] [expired: 2019-02-17] A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 5072 E1F5 uid [ expired] MySQL Release Engineering <mysql-build> </mysql-build>
期限切れになっているキーがあることがわかる。
apt install dirmngr apt-key adv --keyserver keys.gnupg.net --recv-keys 8C718D3B5072E1F5
とすれば、キーが更新される。
apt-key list /etc/apt/trusted.gpg -------------------- pub dsa1024 2003-02-03 [SCA] [expires: 2022-02-16] A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 5072 E1F5 uid [ unknown] MySQL Release Engineering <mysql-build> </mysql-build>
これでaptリポジトリの準備は整ったのでインストール。
apt update apt install mysql-server libmysqlclient-dev
今度はちゃんとインストール対象がMySQL Community Serverになるはずである。
インストール中のコンフィグはバージョンが5.7になっており、Enabled,Disabledを確認してOK
インストール中設定するAdmin(root)パスワードはかなり強くなくてはいけない。
インストール中Adminパスが聞かれなかった場合、初期パスワードは
/var/log/mysqld.log
に出力されているはずなので、取っておくこと。
<FreeBSDの場合>
いまのところMariaDBが出現することはないので、これまでの手順は不要。
普通にPortsからインストールして、起動設定する。
cd /usr/ports/databases/mysql57-server/ make install /etc/rc.conf mysql_enable="YES" service mysql-server start
<初回セットアップ>
mysql_secure_installation secure enough. Would you like to setup VALIDATE PASSWORD plugin? : N Change the password for root ? : N # 変更する場合ここで「Y」とする Remove anonymous users? : Y Disallow root login remotely? : Y Remove test database and access to it? : Y Reload privilege tables now? : Y All done! # コンフィグファイル /etc/mysql/conf.d/mysql.cnf [mysql] default-character-set = utf8 [client] default-character-set = utf8 /etc/mysql/mysql.conf.d/mysqld.cnf # bind-address = 127.0.0.1 #リモート接続を許可する場合comment out character-set-server = utf8 collation-server = utf8_general_ci default_password_lifetime = 0 # FreeBSDの場合上記設定まとめて/usr/local/etc/mysql/my.cnf # 再起動 /etc/init.d/mysql restart # FreeBSDの場合 service mysql-server restart # 管理ユーザを作成し全権限を委譲(以降rootは不要) mysql -u root -p use mysql # You must reset your password using ALTER USER statement before executing this statement. と言われてしまった場合再度パスワード変更する set password for root@localhost=password('新パスワード'); grant all privileges on *.* to hogeuser@"%" identified by 'hogepass' with grant option; ※hogepassはちゃんとしたパスワードに置き換え # .bash_secure などにエイリアスを切っておくと楽 alias mysql='mysql -u hogeuser -phogepass' alias mysqldump='mysqldump -u hogeuser -phogepass'
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
Intel Macbook2020にBootCampで入れたWindows11 Pro 23H2のBluetoothを復活させる
Windowsのデスクトップ画面をそのまま配信するための下準備
WindowsでGPUの状態を確認するには(ASUS系監視ソフトの自動起動を停止する)
CORESERVER v1プランからさくらインターネットスタンダートプランへ引っ越しメモ
さくらインターネットでPython MecabをCGIから使う
さくらインターネットのPHPでAnalytics-G4 APIを使う
インクルードパスの調べ方
【Git】特定ファイルを除外する.gitignore
【Ubuntu/Debian】NVIDIA関係のドライバを自動アップデートさせない
【Apache】サーバーに同時接続可能なクライアント数を調整する
Windows版Google Driveが使用中と言われアンインストールできない場合
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
【Linux】iconv/libiconvをソースコードからインストール
Googleスプレッドシートを編集したら自動で更新日時を入れる
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
【ひかり電話+VoIPアダプタ】LANしか通ってない環境でアナログ電話とFAXを使う
Windows11でMacのキーボードを使うには