2022-10-11


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@oss.oracle.com>
期限切れになっているキーがあることがわかる。
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@oss.oracle.com>
これで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'
※本記事内容の無断転載を禁じます。

ふわ姫

たった10秒ケア!ニキビ用オールインワンジェル【またあした、僕】

敷布団の上でも、マットレスだけでも使える高反発薄型マットレス【ONチャージ】

アフターサポート5年保証 シロアリのことならシロアリ110番

全世界で200万本以上を売り上げたまつげ美容液【BEAUTYLASH】

安心安全のフッ素樹脂を全く使わないフライパン!【グリーンパン オンラインストア】

伝説の白泥と言われるパラオの白泥パック!@cosomeランキング1位獲得!【パラネージュ】

ベビー・キッズ・家族写真なら話題の出張撮影サービス【Famm(ファム)出張撮影 】

女性ホルモンバランスプランナー監修デリケートゾーンソープ「うるおうフェミニンウォッシュ」

オンボードグラフィックスと外付けビデオカードを同時利用してデュアルディスプレイにする
EaseUS RecExpertsで画面を録画する
【MySQL】テーブル定義を確認してインデックスを操作する【MariaDB】
通常のC言語配列にstd::for_each,find_if等のC++ラムダ式ループを適用する
【C/C++】処理系に依存しない64ビットフラグ演算集【保存版】
【C++】2つのvector配列を比較して両方に共通する要素を取り出す【set_intersection】
【Node.js】ビットコイン(BTC)およびイーサリアム(ETH)の日本円(JPY)レートを取得する
【Node.js】BTC←→SATOSHIおよびETH←→WEIの相互変換を行う
【Node.js】文字列を後から復元できる可逆の暗号化にかける
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
Googleスプレッドシートを編集したら自動で更新日時を入れる
Googleスプレッドシートで図形をコピーして使いまわすには
【Javascript】JSON配列内にある特定要素の取得法【Node.js】
Windows版Google Driveが使用中と言われアンインストールできない場合
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合
【Linux共通】プロキシサーバーの利用設定
Androidホームで左にスワイプすると出てくるニュース共を一切表示させない方法
Ubuntuで固定IPアドレスを使う設定をする