1. 程式人生 > >centos7之RPM安裝MySQL5.5.48

centos7之RPM安裝MySQL5.5.48

背景:
一般專案系統開發都是在windows平臺上,而一旦專案系統開發完成,出於安全性、穩定性的考慮,資料庫伺服器、應用伺服器都會安裝在Linux平臺上,本篇講解的就是如何在Linux的發行版centos7安裝MySQL資料庫。這裡僅僅是做實驗,所以是在虛擬機器上安裝的centos7之上安裝MySQL。

centos7

MySQL5.5.48

安裝步驟:
1、上傳下載到的MySQL tar包到虛擬機器centos上並解壓到指定的目錄下

[[email protected] ~]# ll
總用量 186968
-rw——-. 1 root root 1740 12月 4 19:00 anaconda-ks.cfg
-rw-r–r–. 1 root root 191447040 12月 9 09:59 MySQL-5.5.48-1.linux2.6.x86_64.rpm-bundle.tar
drwxr-xr-x. 3 root root 4096 12月 9 10:00 soft

[[email protected] ~]# tar -xvf MySQL-5.5.48-1.linux2.6.x86_64.rpm-bundle.tar -
C soft/mysql/

MySQL-client-5.5.48-1.linux2.6.x86_64.rpm
MySQL-shared-compat-5.5.48-1.linux2.6.x86_64.rpm
MySQL-test-5.5.48-1.linux2.6.x86_64.rpm
MySQL-server-5.5.48-1.linux2.6.x86_64.rpm
MySQL-embedded-5.5.48-1.linux2.6.x86_64.rpm
MySQL-devel-5.5.48-1.linux2.6.x86_64.rpm
MySQL-shared-5.5.48-1.linux2.6.x86_64.rpm

[[email protected] ~]# cd soft/mysql/
[[email protected] mysql]# ll
總用量 186960
-rw-r–r–. 1 7155 wheel 17855952 1月 17 2016 MySQL-client-5.5.48-1.linux2.6.x86_64.rpm
-rw-r–r–. 1 7155 wheel 6522838 1月 17 2016 MySQL-devel-5.5.48-1.linux2.6.x86_64.rpm
-rw-r–r–. 1 7155 wheel 67718815 1月 17 2016 MySQL-embedded-5.5.48-1.linux2.6.x86_64.rpm
-rw-r–r–. 1 7155 wheel 50372369 1月 17 2016 MySQL-server-5.5.48-1.linux2.6.x86_64.rpm
-rw-r–r–. 1 7155 wheel 2038979 1月 17 2016 MySQL-shared-5.5.48-1.linux2.6.x86_64.rpm
-rw-r–r–. 1 7155 wheel 5180005 1月 17 2016 MySQL-shared-compat-5.5.48-1.linux2.6.x86_64.rpm
-rw-r–r–. 1 7155 wheel 41748495 1月 17 2016 MySQL-test-5.5.48-1.linux2.6.x86_64.rpm

2、解除安裝centos7自帶的mariadb,不然安裝MySQL的時候會和mariadb檔案相沖突導致安裝不成功。

[[email protected] mysql]# rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[[email protected] mysql]# rpm -e mariadb-libs-5.5.56-2.el7.x86_64
–nodeps

3、安裝MySQL服務端和客戶端

[[email protected] mysql]# rpm -ivh MySQL-server-5.5.48-1.linux2.6.x86_64.rpm

[[email protected] mysql]# rpm -ivh MySQL-client-5.5.48-1.linux2.6.x86_64.rpm

tips
one:必須進到rpm所在目錄進行安裝,不然會報錯說找不到rpm

這裡寫圖片描述

two:安裝服務端會出現提示,提示很重要,很重要,很重要。涉及到MySQL的密碼及其它的一些工作。

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password ‘new-password’
/usr/bin/mysqladmin -u root -h localhost.localdomain password ‘new-password’

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.

所以安裝完客戶端之後,必須按照以上的提示修改密碼:

[[email protected] mysql]# /usr/bin/mysql_secure_installation

問題:

Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

修改密碼出現錯誤

原因:檢視MySQL啟動狀態,可以看到MySQL服務沒有開啟,所以修改密碼前必須先開啟MySQL服務

[[email protected] mysql]# service mysql status
ERROR! MySQL is not running

4、開啟MySQL服務

[[email protected] mysql]# service mysql start
[[email protected] mysql]# service mysql status
SUCCESS! MySQL running (1783)

5、修改密碼

[[email protected] mysql]# /usr/bin/mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current
password for the root user. If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
… Success!

Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
… skipping.

By default, MySQL comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database…
… Success!
- Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

6、登入測試

[[email protected] mysql]# mysql -uroot -proot

7、開啟遠端MySQL資料庫訪問,這裡測試我們的主機windows的客戶端去連線虛擬機器上centos上的MySQL資料庫。

問題:無法訪問
主機MySQL客戶端訪問Linux上的MySQL資料庫

原因:centos7的防火牆設定、MySQL資料庫遠端訪問的授權設定

[[email protected] mysql]# firewall-cmd –state
running
[[email protected] mysql]# firewall-cmd –list-ports
[[email protected] mysql]#

[[email protected] mysql]# mysql -uroot -proot
mysql> select * from mysql.user where user=’root’ \G;

***************** 1. row *****************
Host: localhost
User: root
Password: *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin:
authentication_string:
***************** 2. row *****************
Host: localhost.localdomain
User: root
Password: *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin:
authentication_string:
***************** 3. row *****************
Host: 127.0.0.1
User: root
Password: *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin:
authentication_string:
***************** 4. row *****************
Host: ::1
User: root
Password: *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin:
authentication_string:
4 rows in set (0.00 sec)

從以上結果可以看到:
防火牆處於開啟狀態且沒有開啟任何埠可以訪問
MySQL資料庫查詢結果列Host的值,並沒有是%或者指定遠端主機名或ip地址,所以並沒有授權遠端訪問登入設定。

解決:原因找到了之後,就好解決了。

開啟MySQL資料庫遠端訪問許可權

[[email protected] mysql]# mysql -uroot -proot
mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION; FLUSH PRIVILEGES;

再次查詢MySQL資料庫遠端訪問是否授權:

mysql> select * from mysql.user where user=’root’ \G;

可以看到多了一條記錄HOST值為:%,說明授權了。

***************** 5. row *****************
Host: %
User: root
Password: *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin:
authentication_string: NULL
5 rows in set (0.00 sec)

新增MySQL埠執行遠端訪問

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

查詢防火牆開放的埠:

[[email protected] mysql]# firewall-cmd –list-ports
3306/tcp

到這裡,主機MySQL客戶端就可以順利連線centos7的MySQL資料庫了。
主機客戶端成功連線centos7MySQL資料庫

總結:
本篇主要講述了centos7安裝MySQL資料庫,前提是centos的版本和MySQL的版本必須一致才能按照以上的方法,因為不同版本的Linux、MySQL只有其中一個不同,安裝的方式就有可能不一樣。

安裝MySQL資料庫:
1、採用的是rpm安裝

2、安裝前需解除安裝掉centos7自帶的mariadb,MariaDB資料庫管理系統是MySQL的一個分支,不然安裝的時候會互相沖突導致安裝不成功。

3、安裝
rpm -ivh MySQL-server-5.5.48-1.linux2.6.x86_64.rpm
rpm -ivh MySQL-client-5.5.48-1.linux2.6.x86_64.rpm

4、修改密碼前需開啟服務,開啟服務後方可修改密碼

5、本地登入MySQL資料庫,OK沒有問題
遠端主機登入出現無法訪問的情況,需設定防火牆開啟3306埠可訪問
其次,設定本地MySQL資料庫執行遠端主機登入訪問授權。

以上就是安裝的大體步驟,原理是一樣的。

補充
關於解除安裝:
解除安裝步驟:
1、檢視已經安裝的MySQL服務:

[[email protected] mysql]# rpm -qa | grep -i mysql
MySQL-client-5.5.48-1.linux2.6.x86_64
MySQL-server-5.5.48-1.linux2.6.x86_64

2、解除安裝MySQL服務

[[email protected] mysql]# rpm -e MySQL-server-5.5.48-1.linux2.6.x86_64
[[email protected] mysql]# rpm -e MySQL-client-5.5.48-1.linux2.6.x86_64
[[email protected] mysql]# rpm -qa | grep -i mysql
[[email protected] mysql]#

注意:刪除的時候沒有帶.rpm的字尾

3、查詢MySQL相關資料夾

[[email protected] mysql]# find / -name mysql
/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/root/soft/mysql

注意:/root/soft/mysql是我們手動新建用來存放MySQL rpm的,所以並不需要把它解除安裝。

4、刪除MySQL相關資料夾

[[email protected] mysql]# rm -rf /etc/selinux/targeted/active/modules/100/mysql
[[email protected] mysql]# rm -rf /usr/lib64/mysql
[[email protected] mysql]# rm -rf /var/lib/mysql
[[email protected] mysql]# rm -rf /var/lib/mysql/mysql
[[email protected] mysql]# rm -rf /usr/lib64/mysql

5、重新安裝

[[email protected] mysql]# rpm -ivh MySQL-server-5.5.48-1.linux2.6.x86_64.rpm
[[email protected] mysql]# rpm -ivh MySQL-client-5.5.48-1.linux2.6.x86_64.rpm

接下來的流程就和上面的安裝一樣了。

相關推薦

centos7RPM安裝MySQL5.5.48

背景: 一般專案系統開發都是在windows平臺上,而一旦專案系統開發完成,出於安全性、穩定性的考慮,資料庫伺服器、應用伺服器都會安裝在Linux平臺上,本篇講解的就是如何在Linux的發行版centos7安裝MySQL資料庫。這裡僅僅是做實驗,所以是在虛擬機

centos7 mini rpm安裝mysql5.6.31

1、下載地址 mysql下載地址 http://downloads.mysql.com/archives/community/ 2、紅色是下載的包,用Fz上傳到伺服器中。 用 tar -xvf MySQL-5.6.31-1.linux_glibc2.5.x86_64.rp

CentOS7.0編譯安裝Mysql5.5.32

ini xtra 必須 water pda fast 編譯安裝mysql gb2 files (1)CentOS 版本:安裝的時候最小化安裝必須有下列包組:yum groupinstall "Compatibility libraries" "Base" "Dev

MySQL——CentOS下以RPM方式安裝MySQL5.5

首先去mySQL官網下載頁面: Select Platform 選擇  Oracle & Red Hat Linux 4 & 5 分別下載以下三個檔案(由於我的機器是32位,下面是32位版本的包,如果你的機器是64位的請下載64位版本): 1. Red

SuSE11安裝MySQL5.5.60:RPM安裝方式

med commands get auth des orm har 輸入 rec 摘要:SuSE11sp3 64位操作系統、 MySQL5.5.60 rpm安裝包註:kingtry是我的主機名一、環境準備操作系統:SuSE版本11sp3,64位kingtry:~ # una

cent os 6.5通過rpm方式安裝mysql5.5

首先在mysql官網下載mysql的rpm安裝包 ,下載地址為:https://dev.mysql.com/downloads/mysql/5.5.html#downloads 可以下載 RPM Bundle版的,這是個壓縮包裡面包含mysql-server、mysql-client、mys

Centos7.3.1611安裝mysql5.7.18 rpm教程 並設定datadir

一、解除安裝MariaDB CentOS7預設安裝MariaDB而不是MySQL,而且yum伺服器上也移除了mysql相關的軟體包。因為MariaDB和MySQL可能會衝突,故先解除安裝MariaDB。 1. 安裝新版mysql之前,我們需要將系統自帶的mariadb-lib解除安裝 [[ema

Centos7.2環境RPM 安裝MySQL5.6.24

系統環境 CentOS Linux release 7.2.1511 (Core) 1.關閉selinux 服務 [[email protected]~]# vim /etc/selinux/config  ··· SELINUX=disabled ··· 2.

centOS7.2離線rpm安裝mysql5.7

1、解除安裝系統自帶的 mariadb-lib rpm -qa|grep mariadb mariadb-libs-5.5.44-2.el7.centos.x86_64 rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps

centos7.2下安裝mysql5.7,使用rpm安裝

0、環境 本文作業系統: CentOS 7.2.1511 x86_64 MySQL 版本: 5.7.16 1、解除安裝系統自帶的 mariadb-lib [[email protected] ~]# rpm -qa|grep mariadb mariadb-

centos7.5離線安裝mysql5.5.61.tar.gz

1、解除安裝舊mysql [[email protected] soft]# find / -name mysql [[email protected] soft]# find / -name mysql|xargs rm -rf 2、解除安裝系統自帶

rpm包在centos7.4上安裝mysql-5.7.24-1.el7.x86_64

CentOS7.4系統資訊[[email protected] iso]# uname -aLinux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_

Centos7.3.1611安裝mysql5.7.18 rpm教程

零 本人的Linux系統 一 解除安裝MariaDB CentOS7預設安裝MariaDB而不是MySQL,而且yum伺服器上也移除了MySQL相關的軟體包。因為MariaDB和MySQL可能會衝突,故先解除安裝MariaDB。 1. 安裝新版

centos6.5 rpm 安裝mysql5.6

a. 檢查MySQL及相關RPM包,是否安裝,如果有安裝,則移除(rpm –e 名稱) [root@localhost ~]# rpm -qa | grep -i mysql mysql-libs-5.1.66-2.el6_3.x86_64 [root@l

CentOS下以RPM方式安裝MySQL5.5

首先去mySQL官網下載頁面: Select Platform 選擇  Oracle & Red Hat Linux 4 & 5 分別下載以下三個檔案(由於我的機器是32位,下面是32位版本的包,如果你的機器是64位的請下載64位版本): 1. Red Hat & Orac

CentOS7安裝mysql5.5 啟動出錯 The server quit without updating PID file……

今天使用CentOS7安裝mysql後,啟動時出現了一個問題,折騰了一下午才弄好。問題如下: 啟動時報錯:Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/

免費架構ADF12C essentials+MYSQL5.5.40+GLASSFISH4.1

adf 免費架構 12c 本文出自 “ADF推廣員” 博客,請務必保留此出處http://feitai.blog.51cto.com/9103016/1922353免費架構之ADF12C essentials+MYSQL5.5.40+GLASSFISH4.1

centos6.5下yum安裝mysql5.5

eps mysql 啟動 pms pan tar oar exp let 第一步就是看linu是否安裝了mysql,經過rpm -qa|grep mysql查看到centos下安裝了mysql5.1,那就開始卸載咯 2 接下來就是卸載mysql5.1了,命令

CentOS6.4 安裝 MySql5.5.13

l數據庫 src alt node entos 刪除 --nodeps 提示 nbsp 1、卸載系統自帶的MySql 1.1、查看該操作系統上是否已經安裝了mysql數據庫   [[email protected]/* */ ~]# rpm -qa | gr

Centos7通過yum安裝Mysql5.7

-i emctl all oot server aio 否則 mysql- use yum安裝mysql (新版本CentOS自帶mariadb而不是mysql,所以要先卸載了,否則會沖突) 查找mariadb rpm -qa | grep mariadb 卸載mariad