1、刪除系統自帶的mysql或者mariadb
運用rpm命令檢查系統中是否存在MySQL或maridadb
rpm -qa|grep mysql
rpm -qa|grep mariadb
若存在,則執行以下命令刪除:
rpm -e 軟件名
這裏的軟件名必須包含軟件的版本信息
若卸載失敗,執行以下命令強制卸載:
rpm -e --nodeps 軟件名
PS:rpm命令是RPM軟件包的管理工具(參考:https://www.cnblogs.com/ftl1012/p/rpm.html)
2、運行以下命令安裝MySQL
安裝依賴:
yum install -y libaio-*
創建mysql安裝目錄
mkdir /usr/local/mysql
進入軟件壓縮包管理區域
cd /usr/local/packages
可以在線下載mysql安裝包:
wget https://zy-res.oss-cn-hangzhou.aliyuncs.com/mysql/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
也可以直接上傳(上一篇中有提到)
解壓mysql安裝包(tar的參數中加上了z)
tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
移動解壓文件至mysql目錄
mv mysql-5.7.17-linux-glibc2.5-x86_64/* /usr/local/mysql
3、依次運行以下命令建立 MySQL 組和用戶,並將用戶添加到組中:
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
進入安裝目錄:
cd /usr/local/mysql
修改當前目錄擁有者爲mysql用戶:
chown -R mysql:mysql ./
進入scripts文件下
cd scripts
運行命令初始化MySQL數據庫:
./mysql_install_db --datadir=/usr/local/mysql/data/ --basedir =/usr/local/mysql --user=mysql
若報異常提示mysql.plugin找不到,異常信息,/usr/bin/perl: bad interpreter: No such file or directory,沒有/usr/bin/perl文件或者檔案,則需要安裝perl和perl-devel,執行:
yum -y install perl perl-devel
再次執行數據庫初始化命令,又提示:
FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:
Data::Dumper
則需要安裝dumper,執行:
yum install -y perl-Data-Dumper
再次執行數據庫初始化命令
成功。
4、權限
修改當前目錄擁有者爲root用戶:
chown -R root:root ./
修改當前data目錄擁有者爲mysql用戶:
chown -R mysql:mysql data
5、依次運行以下命令設置開機自啓動:
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysqld
添加執行權限
chmod +x /etc/init.d/mysqld
vim /etc/rc.d/rc.local
在 rc.local 文件中添加 /etc/init.d/mysqld start
退出編輯,保存
6、啓動MySQL數據庫
/etc/init.d/mysqld start
7、設置環境變量
運行 vi /root/.bash_profile 打開文件,按 i 進入編輯模式。
將 PATH 修改爲
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
按 esc 鍵退出編輯模式,輸入 :wq 保存並關閉文件。
運行 source /root/.bash_profile 重新執行文件。
修改 MySQL 的 root 用戶密碼:初始化後 MySQL 爲空密碼可直接登錄,爲了保證安全性需要修改 MySQL 的 root 用戶密碼。mysqladmin -u root password
測試登錄 MySQL 數據庫。 mysql -uroot -p密碼 #-p和密碼之間無空格
遠程數據庫授權:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
使授權生效:FLUSH PRIVILEGES;
ctrl+d 退出mysql
8、遠程連接
修改/etc/my.cnf配置文件,添加編碼配置和端口號
查看my.cnf的具體路徑
(參考:
https://blog.csdn.net/djcode/article/details/78621772
https://www.cnblogs.com/sunpear/p/8117113.html)
/usr/local/mysql/bin/mysqld --verbose --help |grep -A 1 'Default options'
從5.7.18開始不在二進制包中提供my-default.cnf文件,可以自己新建在指定目錄下,複製必要信息,mysql會在啓動時自動匹配
在[mysqld]下添加編碼配置:
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
修改端口號、開放端口
port=3306
重新啓動mysql服務使配置生效:
systemctl restart mysqld
或者
service restart mysqld
開放端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
遠程測試連接
參考文章:
https://www.cnblogs.com/pretty-sunshine/p/9749450.html
https://www.cnblogs.com/ivictor/p/5727395.html
https://www.cnblogs.com/zhjh256/p/5728878.html
https://blog.csdn.net/lssoop/article/details/80033104
開放端口號
https://www.cnblogs.com/tony-brook/p/9876543.html