1. 程式人生 > >linux安裝MySQL之rpm包

linux安裝MySQL之rpm包

目前瞭解在linux下安裝mysql有兩種方式:1、rpm包安裝;2、原始碼包安裝;
目前使用的是rpm包安裝:
環境:CentOS7(CentOS-7-x86_64-DVD-1804);mysql 5.6.42

1、下載rpm包
https://dev.mysql.com/downloads/mysql/5.6.html#downloads
在這裡插入圖片描述

2、建立mysql使用者和組

#建立組
groupadd mysql
#建立使用者
adduser -g  mysql mysql

3、將安裝包放置某個路徑,如現將其放在/home/mysql下,並進行解壓
在這裡插入圖片描述

解壓:

tar -xvf xxx

在這裡插入圖片描述

4、安裝
1。安裝前檢查是否已經有安裝包

#檢查mysql
rpm -qa | grep -i mysql
#檢查mariadb,據說centos7以上是該包
rpm -qa | grep -i mararia*

#如以上均有,則刪除
yum -y remove xxx

要不然centos7以上的在安裝時可能會報:

mariadb-libs is obsoleted by MySQL-shared-compat-5.6.42-1.el7.x86_64

2。可能遇到問題
在使用rpm安裝的過程可能會出現提示某些依賴包不存在,如提示:

error: Failed dependencies:
			/usr/...
			perl .....
			net-tools ...

則需要安裝perl和net-tools:

yum -y install perl
yum -y install net-tools

注意,雖然這樣安裝了perl和net-tools,但是可能還有個perl的依賴沒有裝,則使用rpm安裝時報錯:

error: Failed dependencies:
			/usr/...perl....

則需要安裝autoconf:

yum -y install autoconf

在這裡插入圖片描述

3。安裝
基本的需求只要安裝這幾個包即可,其他的按需求裝:
在這裡插入圖片描述

檢查安裝情況:

rpm -qa | grep -i mysql

在這裡插入圖片描述

如果在安裝過程中沒出現其他的報錯,則安裝MySQL成功。

4、啟動前準備、啟動、檢查、登入
1。將mysql的配置檔案拷貝到/etc目錄下

cp/usr/share/mysql/my-default.cnf /etc/my.cnf

2。啟動mysql:

#初始化(需要)
./usr/bin/mysql_install_db
#啟動mysql服務
service mysql start

3。mysql在安裝成功後會給root使用者一個預設密碼,檢視記錄,在初始登入時使用。

#檢視初始化的密碼
cat /root/.mysql_secret

4。使用上一步獲得的密碼登入

#首次登入
mysql -uroot -p初始化密碼

更改初始化密碼
方式1 (已驗證)- 登入到mysql:

mysql > set password=password("新密碼")

即可修改成功,並使用。
方式2(未驗證):

mysqladmin -u使用者名稱 -p舊密碼 password 新密碼

5、遠端連線mysql
首先ping一下兩個終端是否通。ping通的情況:
如果在上述整完後,遠端連線mysql,則會報錯:

ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.xx.xx' (10060)

解決:
1。授權遠端終端登入
登入mysql後:

GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;

itoffice:使用者名稱; % 表示授權全部終端(ping的通)可連線,也可將其改為具體ip;itoffice:登入密碼。

檢查可遠端連線的使用者:

SELECT host,user FROM mysql.user;
#或者
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

在這裡插入圖片描述

此時需要flush一下

mysql > flush privileges;

2。關閉防火牆
檢視防火牆狀態:

#centos6.x
chkconfig iptables off
#centos7.x
systemctl stop firewalld

關閉防火牆:

#永久
[[email protected] ~]# service iptables stop

上述完之後,即可遠端連線。

6、如果還不能遠端連線。試著改或加入以下
報:ERROR 2003 (HY000)…
1。mysql的my.cnf檔案中修改或新增(不知道位置:find / -name my.cnf)

bind-address           = 127.0.0.1  #這裡預設監聽本地localhost

改為

bind-address           = 0.0.0.0  #監聽全部地址

2。將3306埠新增到iptables中

iptables -A INPUT -p tcp --dport 3306 -j ACCEPT