開頭廢話
我現在在用的是Manjaro, 其實可以通過pacman自動安裝mysql, 但是pacman會安裝最新版的mysql, 在2019年7月1日的今天是8.0.16, 那爲什麼不直接使用這個版本反而自找麻煩去手動安裝5.5的mysql呢?主要是基於3點考慮:
- 最新版對系統配置要求比5.5版高很多
- 新版的穩定性和兼容性沒有5.5版的好
- 最重要的是我安裝最新版初始化後會提示缺少GLIBCXX_3.4.26, 而pacman安裝的最新版的gcc8.3.0只提供到3.4.25, 還要手動去編譯安裝gcc9.1.0,更麻煩.
接下來就是寫這篇文章的初衷了, 按說網絡上多的是在Linux上安裝mysql的文章, 可是我起碼找了有十幾篇文章, 按照裏面的方法一個個試下來都無法安裝成功, 沒得辦法就想到去官網啃英文文檔, 按照裏面的步驟果然成功安裝, 所以就參考官方把安裝和啓動步驟寫下來以備不時之需.
安裝步驟
- 下載mysql5.5二進制安裝包, 我選擇的版本是5.5.55, 就以這個版本爲例:
cd ~/下載
shell> wget https://downloads.mysql.com/archives/get/file/mysql-5.5.55-linux2.6-i686.tar.gz
其他版本可以進入以下網址下載:
https://downloads.mysql.com/archives/community/
- 解壓縮
tar -zxvf mysql-5.5.55-linux2.6-i686.tar.gz
sudo mv mysql-5.5.55-linux2.6-x86_64 /usr/local/mysql
- 創建mysql用戶
shell> sudo groupadd mysql
shell> sudo useradd -r -g mysql mysql
shell> cd /usr/local/mysql
shell> sudo chown -R mysql .
shell> sudo chgrp -R mysql .
- 初始化mysql
shell> sudo scripts/mysql_install_db --user=mysql
shell> sudo chown -R root .
shell> sudo chown -R mysql data
shell> sudo cp support-files/my-huge.cnf /etc/my.cnf
ps. mysql5.7版以前不能用mysqld --initialize初始化
- 啓動mysql服務(以下三種任選一種即可)
shell> sudo bin/mysqld_safe --user=mysql &
shell> sudo bin/mysqld --user=mysql
shell> sudo support-files/mysql.service start
- 關閉mysql服務
shell> sudo support-files/mysql.service stop
- 設置開機啓動
- 創建systemd服務文件
sudo vim /etc/systemd/system/mysql.service
- 編輯systemd服務文件
[Unit] Description=MySQL Server After=syslog.target After=network.target [Service] Type=simple PermissionsStartOnly=true ExecStartPre=/bin/mkdir -p /var/run/mysqld ExecStartPre=/bin/chown mysql:mysql -R /var/run/mysqld ExecStart=/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/plugin --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 TimeoutSec=300 PrivateTmp=true User=mysql Group=mysql WorkingDirectory=/usr/local/mysql [Install] WantedBy=multi-user.target
- 激活開機自啓動
shell> systemctl enable mysql.service