ubuntu18 安裝mysql 5.7/5.6


新來了個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安裝完成!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM