Ubuntu20默認(rèn)的安裝的MySQL數(shù)據(jù)庫是8.0的 所以不能使用apt安裝 需要自己下載安裝包安裝
我開始沒有卸載8.0的mysql 在安裝的時候就會發(fā)現(xiàn)存在client-8.0等跟你裝的包沖突 所以你需要先卸載8.0的mysql
1舱痘、卸載MySQL8.0:
停MySQL服務(wù):
sudo service mysql stop
卸載mysql(此處暫時先刪掉你下載5.7版本的所有川蒙,不然會報找不到的錯)
sudo apt purge mysql-*
刪除mysql的文件包
sudo rm -rf /etc/mysql/
sudo rm -rf /var/lib/mysql*
刪除apt中的包
sudo apt autoremove
sudo apt autoclean
再次清理
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
理論上已經(jīng)全部刪除蝇庭,但是有可能還會有mysql的包 吼旧,使用下面語句查看是否還有其他依賴以及包
dpkg --list | grep mysql
如果還有包,用下面語句一個一個刪
dpkg -P +軟件包名稱
2堕花、安裝mysql5.7.31
個人比較喜歡每個軟件以及文件都放在一個文件夾里文狱,好區(qū)分 你們安裝可以不創(chuàng)建新的文件夾
創(chuàng)建文件夾并進(jìn)入創(chuàng)建的文件夾
mkdir mysql5.7.31
cd ~/mysql5.7.31
下載
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar
解壓
sudo tar -vxf mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar
image.png
刪除兩個文件并把5.7的壓縮包移到外面
sudo rm -f mysql-testsuite_5.7.31-1ubuntu18.04_amd64.deb
sudo rm -f mysql-community-test_5.7.31-1ubuntu18.04_amd64.deb
sudo mv mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar ~/Desktop
安裝依賴
sudo apt-get install libtinfo5
sudo apt-get install libmecab2
使用deb安裝
sudo dpkg -i mysql-*.deb
可能就會出現(xiàn)很多缺少依賴等
image.png
下載安裝依賴(這時候安裝的時候是需要輸入初始密碼的)
sudo apt install libaio1
剩下的可以看到是我們安裝的時候順序的原因造成的(我是再次一個一個安裝的)
安裝
sudo dpkg -i mysql-community-client_5.7.31-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-client_5.7.31-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-community-server_5.7.31-1ubuntu18.04_amd64.deb
sudo dpkg -i mysql-server_5.7.31-1ubuntu18.04_amd64.deb
最后再重新走了一次全部安裝
sudo dpkg -i mysql-*.deb
到這里就是安裝好了,啟動服務(wù),查看是否服務(wù)狀態(tài)
sudo service mysql start
sudo service mysql status
修改監(jiān)聽
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
注釋掉bind-address = 127.0.0.1缘挽, 即#bind-address = 127.0.0.1
3瞄崇、配置除本地外其他客戶端可訪問
- 登錄數(shù)據(jù)庫
mysql -u root -p
- 選擇數(shù)據(jù)庫
use mysql;
- 修改root用戶可以在所有機(jī)器登錄(root只是舉例,%表示所有機(jī)器)
update user set host = '%' where user = 'root';
- 重啟服務(wù)
sudo /etc/init.d/mysql restart
4到踏、修改配置文件(忽略表名的大小寫)
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
將: lower_case_table_names=1 添加到 [mysqld] 位置下