目前瞭解在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
關閉防火牆:
#永久
[root@localhost ~]# 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