【MySQL5.7】CentOS 7.2上MySQL5.7.16的rpm安裝

一、實驗環(huán)境

操作系統(tǒng): CentOS 7.2 Minimal

MySQL 版本: 5.7.16

IP: 192.168.1.105

二、防火墻、selinux設(shè)置

#?setenforce?0

#?sed?-i?'s/^SELINUX=.*/SELINUX=permissive/g'???/etc/selinux/config

# firewall-cmd --permanent --zone=public --add-port=3306/tcp

# firewall-cmd --reload

三、卸載mariadb相關(guān)組件

注:一般是 mariadb-libs

#?rpm??-e???--nodeps??$(rpm?-qa?|?grep?mariadb*)

#?rpm?-qa?|?grep?mariadb*?|?xargs?rpm?-e??--nodeps

四、從MySQL官網(wǎng)下載MySQL rpm合集包

#?wget? ??http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar

#?tar ?-xvf?mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar

解壓下載的MySQL bundle包),你會看到有12個rpm包



實際安裝一個MySQL數(shù)據(jù)庫,我們只需要安裝5個rpm包


五、檢查依賴,安裝依賴

# rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n' ? libaio ? ?net-tools? perl

# yum? -y install epel-release

# yum -y install ?libaio ??net-tools??

# yum -y install perl??

安裝perl,主包加依賴共有27個

四、按順序安裝MySQL組件

#?rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm

#?rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm

#?rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm

#?rpm -ivh mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm

#?rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm


# rpm -qa | grep mysql-community


安裝結(jié)束后會在Linux中的各種目錄生成必要的文件,如下表:


五、自定義數(shù)據(jù)目錄

MySQL的數(shù)據(jù)目錄默認是/var/lib/mysql ,當然你也可以自定義數(shù)據(jù)存放目錄

# mkdir /opt/data/mysql

# vim??/etc/my.cnf

datadir=/opt/data/mysql

注意:

socket=/var/lib/mysql/mysql.sock 這個配置沒有更改的必要

如果你自定義為? socket=/var/lib/mysql/mysql.sock,那么啟動后連接數(shù)據(jù)庫時就會報錯

如果更改了默認,那么數(shù)據(jù)庫啟動后,需要做一個軟鏈接

# ln -s /opt/data/mysql/mysql.sock /var/lib/mysql/mysql.sock

# chown? -R mysql:mysql?/opt/data/mysql

六、初始化MySQL

初始化MySQL,可以通過執(zhí)行 mysqld --initialize 或者 mysqld --initialize-insecure

使用 --initialize 選項,以“安全模式”初始化,會在日志中生成一個隨機的root初始密碼

使用--initialize-insecure選項,以“非安全模式”初始化,沒有root密碼生成,你需要及時為MySQL指定一定強度的root密碼


方式一、以“安全模式”初始化

#?mysqld? --initialize???--datadir=/opt/data/mysql??--user=mysql

#??cat /var/log/mysqld.log | grep "temporary password"

# systemctl start mysqld

#?systemctl status mysqld

# mysql -u root -p"*simYaJY=7zH"

首次登錄,必須更改隨機的root初始密碼,且密碼強度需滿足一定要求,才能執(zhí)行數(shù)據(jù)庫操作

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '設(shè)置的新密碼';

# mysql -u root -p"MySQL@123"


方式二、以?“非安全模式”初始化

# mysqld --initialize-insecure?--datadir=/opt/data/mysql--user=mysql

# systemctl start mysqld

# systemctl ?status?mysqld.service

#? mysql -u root? --skip-password

投入生產(chǎn)前,你需要立刻為MySQL設(shè)置一個root密碼

交互式設(shè)置

# mysql -u root --skip-password

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '設(shè)置的新密碼';

非交互式設(shè)置

# mysql -u root --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '設(shè)置的新密碼'"

七、參考

The world's most popular open source database?

https://dev.mysql.com

A Quick Guide to Using the MySQL Yum Repository

https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

Installing MySQL on Linux Using the MySQL Yum Repository

https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html

CentOS Linux 7離線安裝MySQL 5.7.x

https://zhuanlan.zhihu.com/p/34719781

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容