新來了個ubantu服務器,准備壓測一番,先部署一波軟件唄
操作系統 Ubuntu 18.04.4 LTS (GNU/Linux 4.4.189 aarch64) ,注意是arm64
1.安裝mysql 5.7(參考https://zhuanlan.zhihu.com/p/64080934)
sudo apt update
#默認安裝了mysql 5.7
sudo apt install mysql-server -y
#查看最終安裝結果
sudo apt list --installed |grep mysql 或者 sudo dpkg -l |grep mysql
sudo service mysql status
2.配置 mysql 5.7
【設置密碼】
#查看默認密碼
cat /etc/mysql/debian.cnf ,可以看到user和password
使用該賬號密碼登錄后,再修改root賬號密碼
mysql> use mysql;
mysql> update mysql.user set authentication_string=password('xxxxxxxxx') where user='root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'xxxxxxxxx' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON*.*TO'root'@'locahost' IDENTIFIED BY 'xxxxxxxxx' WITH GRANT OPTION;
mysql> flush privileges;
#檢測新密碼
本機連接mysql,成功;
使用其他機器連接mysql,失敗:排查發現端口3306不通
netstat -nltp|grep 3306,說明3306只綁定了127.0.0.1(localhost)
vim /etc/mysql/mysql.conf.d/mysqld.cnf,注釋掉‘bind-address = 127.0.0.1’這行
重啟mysql后,其他機器連接該服務器的mysql成功!!!
項目中使用報錯
查閱資料發現是mysql版本和驅動版本不匹配https://www.cnblogs.com/like3ong/p/14889333.html,故需要重新安裝mysql 5.6
3.安裝mysql 5.6
3.1.卸載原來的mysql(參考https://www.jianshu.com/p/ea8b705f0915 )
首先在終端中查看MySQL的依賴項:dpkg --list|grep mysql
卸載: sudo apt-get remove mysql-common
卸載:sudo apt-get autoremove --purge mysql-server-5.7
清除殘留數據:dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P
再次查看MySQL的剩余依賴項:dpkg --list|grep mysql
繼續刪除剩余依賴項,如:sudo apt-get autoremove --purge mysql-apt-config
3.2 apt源安裝
參考https://www.osetc.com/archives/20436.html
使用舊源安裝mysql 5.6,有部分庫不存在了,故未成功
3.3 docker安裝
官方倉庫無相應鏡像,找了一下基本都是自己做鏡像,決定再換個方法。
3.4 源碼編譯安裝
參考https://blog.csdn.net/KevinHades/article/details/88692551
報錯賊多/(ㄒoㄒ)/~~,咱不管
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install cmake -y(默認3.10.2)跨平台編譯工具,這個要看每一個版本的mysql需要至少多少版本的各種工具
apt-get install make(默認4.1);
apt-get install gcc g++gcc編譯工具和g++編譯器(默認都是4.7.3)
apt-get install libncurses5 libncurses5-dev安裝ncurses庫,不知道啥的就去查,也可以不用知道
apt-get install bison安裝bison庫(默認是2.3版本)
#下載源碼
cd /home/develop/mysql/
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.43.tar.gz
解壓
cd /home/develop/mysql/mysql-5.6.43/
#安裝位置
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
#編譯安裝
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data
make -j4&& make -j4 install
#配置文件
新增/etc/mysql/my.cnf
#配置環境變量
vim /etc/profile
source /etc/profile
#初始化數據庫
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#按提示進行檢驗
/usr/local/mysql/bin/mysqld_safe &
- 創建空日志文件 touch /usr/local/mysql/mysqld.log
#配置自啟動服務
cp -rp support-files/mysql.server /etc/init.d/mysql
cp -rp /usr/local/mysql/support-files/mysql.server /etc/systemd/system/mysql.server
systemctl daemon-reload
#啟動mysql
systemctl start mysql
- 可能是/usr/local/mysql/mysql.pid文件沒有寫的權限( 需創建mysql用戶組,mysql相關文件權限更改)
- 解決方法 :給予權限,執行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新啟動mysqld
【設置密碼】
編輯/etc/my.cnf, 在[mysqld] 配置部分添加一行 skip-grant-tables;
重啟mysql,mysql -uroot -p直接回車
mysql> use mysql;
mysql> update user set password=password("123456") where user='root';
mysql> flush privileges;
刪除/etc/my.cnf文件中添加的“skip-grant-tables”行,重啟mysql即可;
#校驗結果
mysql -uroot -p123456
mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON*.*TO'root'@'locahost' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql> flush privileges;
至此,mysql 5.6安裝完成!