前言
本文檔適用于在Ubuntu20.04系統(tǒng)下部署mysql5.7,是有網的情況下。
提供了兩種安裝mysql5.7的方法,并且還講解了開啟mysql遠程訪問權限,允許遠程連接;以及講解了如何修改數據庫數據的存放路徑。
一、安裝前的準備工作
1.確認目前服務器上是否存在MySQL
rpm -qa | grep mysql
如出現(xiàn)如圖所示,提示沒有rpm命令,我們需要安裝rpm,命令:apt install rpm
?說明:若返回空信息,就說明當前環(huán)境沒有安裝MySQL;直接跳到第4步操作后續(xù)。
?2.查看MySQL的相關的配置文件、源代碼和幫助文檔的位置
whereis mysql
ps:如果有會返回mysql相關的路徑
3.通過上述找到對應的目錄刪除對應的mysql的相關文件
rpm -e --nodeps mysql-xxxx
-- nodeps 參數,跳過依賴檢查
說明:如果你當前環(huán)境沒有安裝mysql請忽略2,3步驟。
4.檢查當前環(huán)境是否有自帶的mariadb數據庫
rpm -qa | grep mariadb
說明:若返回空信息,就說明當前環(huán)境沒有安裝mariadb;跳到dpkg的步驟安裝。
5.建議卸載
rpm -e --nodeps mariadb-libs
?二、通過dpkg -i的方式安裝(方法一)推薦
1.下載mysql5.7的deb文件源碼包
cd /usr/local
mkdir mysql
cd mysql
wget?https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-server_5.7.35-1ubuntu18.04_amd64.deb-bundle.tar
ps:默認是下載到當前目錄下。
2.解壓源碼包
tar -xvf mysql-server_5.7.35-1ubuntu18.04_amd64.deb-bundle.tar
?解壓后的相關包
?3.刪除名稱帶有test相關包,無用
rm -f mysql-community-test_5.7.35-1ubuntu18.04_amd64.deb
rm -f mysql-testsuite_5.7.35-1ubuntu18.04_amd64.deb
4.使用dpkg命令安裝
dpkg -i mysql-*.deb
說明:dpkg -i 是用于安裝 .deb 文件的 dpkg 命令選項。
(正在讀取數據庫…當前安裝了78536個文件和目錄。) 正在準備解壓縮mysql-client_5.7.35-1ubuntu18.04_amd64.deb。。。 正在解壓縮mysql客戶端(5.7.35-1ubuntu18.04)。。。 選擇之前未選擇的包mysql-common。 正在準備解壓縮mysql-common_5.735-1ubuntu18.04_amd64.deb。。。 正在解包mysql common(5.7.35-1ubuntu18.04)。。。 選擇之前未選擇的包mysql社區(qū)客戶端。 正在準備解壓縮mysql-community-client5.7.35-1ubuntu18.04_amd64.deb。。。 正在解包mysql社區(qū)客戶端(5.7.35-1ubuntu18.04)。。。 選擇之前未選擇的包mysql社區(qū)服務器。 正在準備解壓縮mysql-community-server_5.7.35-1ubuntu18.04_amd64.deb。。。 正在解包mysql社區(qū)服務器(5.7.35-1ubuntu18.04)。。。 選擇之前未選擇的包mysql社區(qū)源。 正在準備解壓縮mysql-community-source_5.7.35-1ubuntu18.04_amd64.deb。。。 正在解包mysql社區(qū)源代碼(5.7.35-1ubuntu18.04)。。。 選擇之前未選擇的包mysql服務器。 正在準備解壓縮mysql-server_5.7.35-1ubuntu18.04_amd64.deb。。。 正在解壓縮mysql服務器(5.7.35-1ubuntu18.04)。。 正在設置mysql-common(5.7.35-1ubuntu18.04)。。。 更新備選方案:使用/etc/mysql/my.cnf.fallback在自動模式下提供/etc/mysql/my.cnf(my.cnf) dpkg:依賴性問題阻礙了mysql社區(qū)客戶端的配置: mysql社區(qū)客戶端依賴libtinfo5(>=6);但是: 未安裝程序包libtinfo5。 dpkg:錯誤處理包mysql社區(qū)客戶端(--install): 依賴關系問題-保持未配置 dpkg:依賴性問題阻礙了mysql社區(qū)服務器的配置: mysql社區(qū)服務器依賴于libmecab2;但是: 未安裝程序包libmecab2。 dpkg:處理mysql社區(qū)服務器包時出錯(--install): 依賴關系問題-保持未配置 正在設置mysql社區(qū)源代碼(5.7.35-1ubuntu18.04)。。。 dpkg:依賴性問題阻礙了mysql服務器的配置: mysql服務器依賴于mysql社區(qū)服務器(=5.7.35-1ubuntu18.04);但是: 包mysql社區(qū)服務器尚未配置。 dpkg:處理包mysql-server(--install)時出錯: 依賴關系問題-保持未配置 dpkg:依賴性問題阻礙了mysql客戶端的配置: mysql客戶端依賴于mysql社區(qū)客戶端(=5.7.35-1ubuntu18.04);但是: 包mysql社區(qū)客戶端尚未配置。 dpkg:處理包mysql客戶端(--install)時出錯: 依賴關系問題-保持未配置 正在處理man數據庫的觸發(fā)器(2.9.1-1)。。。 正在處理systemd的觸發(fā)器(245.4-4ubuntu3.22)。。。 處理時遇到錯誤: mysql社區(qū)客戶端 mysql社區(qū)服務器 mysql服務器 mysql客戶端 |
上述意思是缺少libtinfo5和libmecab2包,我們直接一次性安裝
apt install libtinfo5 libmecab2
運行之后會出現(xiàn)如下所示:設置root用戶密碼
?確認密碼
5.查看版本
mysql -V 或 /usr/bin/mysql -V
?6.查看mysql的狀態(tài)
systemctl status mysql
?7.啟動mysql
systemctl start mysql
8.停止mysql服務
systemctl stop mysql
?9.重啟mysql服務
systemctl restart mysql
?10.自啟動
systemctl enable mysql
三、通過壓縮包的方式安裝(方法二)
1.通過命令下載你想要的mysql安裝包
cd /usr/local/
wget?http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
2. 解壓
tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
3.修改解壓后的名稱:mysql
mv mysql-5.7.35-linux-glibc2.12-x86_64 mysql
4.創(chuàng)建存放數據的目錄
mkdir -p /u01/mysql/data
cd /u01/mysql/data
5.給創(chuàng)建的數據目錄賦予權限
chmod -R 777 /u01/mysql/data
6.創(chuàng)建用戶用戶組,并將創(chuàng)建的用戶添加到用戶組中
groupadd mysql 創(chuàng)建用戶組
useradd -g mysql mysql 創(chuàng)建用戶mysql(mysql)并將用戶添加到用戶組(mysql)中
7.修改mysql配置文件
vim /etc/my.cnf
[mysqld] bind-address=0.0.0.0 port=3306 user=mysql basedir=/usr/local/mysql datadir=/u01/mysql/data socket=/tmp/mysql.sock log-error=/u01/mysql/data/mysql.err pid-file=/u01/mysql/data/mysql.pid #character config character_set_server=utf8mb4 symbolic-links=0 explicit_defaults_for_timestamp=true |
8.安裝并初始化mysql
(1)進入mysql安裝目錄的bin目錄
????????cd bin
(2)執(zhí)行如下命令
./mysqld --initialize --user=mysql --datadir=/u01/mysql/data/ --basedir=/usr/local/mysql/
9.查看mysql密碼
cat /u01/mysql/data/mysql.err
10.修改配置如下所示:
打開文件:
vim /usr/local/mysql/support-files/mysql.server
?11.添加軟連接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
12.啟動mysql
如果使用 service mysql start 出現(xiàn)如下所示,就使用后面的命令啟動mysql
上述命令不行,可以嘗試命令: sudo /etc/init.d/mysql start
?四、開啟mysql遠程訪問權限,允許遠程連接
1.登錄mysql
mysql -u root -p
2.選擇mysql數據庫
use mysql
3.修改配置
update user set host='%' where user='root';
?4.刷新權限,使其生效
flush privileges;
5.退出
exit
五、修改數據存儲路徑
1.查看當前mysql的數據存放路徑
(1)登錄mysql
(2)看目前mysql的數據存放路徑
show variables like '%datadir%';
?默認的數據存放位置
?2.在/etc/mysql/mysql.conf.d目錄下,修改mysqld.cnf文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
如下:
3.編輯usr.sbin.mysqld配置文件
vim /etc/apparmor.d/usr.sbin.mysqld
修改成如下配置
?
在最后添加兩行命令,是為了AppArmor配置以允許MySQL訪問所需的文件和目錄
4.配置權限
sudo chmod -R 775 /u01/mysql/data 配置文件夾的權限
sudo chown -R mysql:mysql /u01/mysql/data
?5.重啟服務
service apparmor reload
service apparmor restart
service mysql start
6.再驗證一下是否修改成功-重新執(zhí)行步驟1
遇到問題
問題一:
AppArmor parser error for /etc/apparmor.d/usr.lib.snapd.snap-confine.real in /etc/apparmor.d/usr.lib.snapd.snap-confine.real at line 11: Could not open '/var/lib/snapd/apparmor/snap-confine' Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd AppArmor parser error for /etc/apparmor.d/usr.sbin.mysqld in /etc/apparmor.d/usr.sbin.mysqld at line 7: Could not open 'abstractions/mysql' |
解決方法:安裝snap
apt intasll snap
問題二:
--initialize specified but the data directory has files in it. Aborting.
意思是初始化數據目錄時發(fā)現(xiàn)目錄里面有文件,可能原因是之前運行過命令目錄中已生成文
件。
解決方法:只要我們找到MySQL的數據目錄并刪除里面的文件即可解決。
找到mysql存放的路徑上面的第2步就可以看見,原位置是/var/lib/mysql,切換到這個目錄下,刪除所有文件命令 rm -rf * 再看一下新位置(/u01/mysql/data/)是否存在文件有的話也刪除。全部刪除完成之后,重新執(zhí)行mysql啟動命令:systemctl status mysql
注:只適用于新安裝的數據庫,不適用之前安裝好的修改存儲路徑,后者需要先備份數據。
六、MySQL實用操作命令
1.連接mysql命令
mysql -u root -p
輸入密碼
2.顯示所有的數據庫
show databases;
3.切換數據庫
use 數據庫;
4.顯示某個數據庫的表信息
show tables;
?5.創(chuàng)建數據庫
drop database 數據庫名;
?6.刪除數據庫
drop database 數據庫名;
7.退出
exit
七、卸載mysql
1.停止mysql服務器
systemctl stop mysql
2.刪除mysql軟件包
sudo apt-get remove --purge mysql-server mysql-client mysql-common
3.檢查是否還存在mysql的相關文件
whereis mysql
4.如果存在跟著上述目錄一個一個去刪除
5.清理殘留依賴關系
sudo apt-get autoremove
?6.列出已安裝在系統(tǒng)上的與 "mysql" 相關的軟件包
sudo dpkg -l | grep mysql
文章來源:http://www.zghlxwxcb.cn/news/detail-753669.html
7.找到之后再通過命令刪除mysql相關軟件包文章來源地址http://www.zghlxwxcb.cn/news/detail-753669.html
sudo apt-get remove --purge mysql相關軟件包
到了這里,關于Ubuntu環(huán)境下安裝部署mysql5.7&開啟遠程訪問連接&修改數據存放位置&卸載mysql的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!