linux 無外網情況下安裝 mysql
由於工作需要,需要在一臺裝有 CentOS 系統的測試服務器上安裝 MySQL ,由於該服務器上存有其他比較重要的測試數據,所以不能連接外網。由於之前安裝 MySQL 一直都是使用 yum 命令一鍵搞定的,所以手動安裝的話還是有些麻煩的。所以在這裏我將我在安裝過程中遇到的一些問題記錄下來。
1.需求就不用講了,客戶現場,政府環境,銀行環境,大多是沒網的,所以無網安裝是很有必要的
mysql下載路徑:https://dev.mysql.com/downloads/mysql/
查看自己Linux系統版本
[root@linuxidc ~]
# cat /etc/RedHat-release
CentOS Linux release 7.3.1611 (Core)
往下拉繼續選擇
選擇對應的下載,mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
這樣幾分鐘就下載了。
2.準備依賴包:
a.numactl 軟件包:
- numactl-2.0.9-6.el7_2.x86_64.rpm
- numactl-devel-2.0.9-6.el7_2.x86_64.rpm
- numactl-libs-2.0.9-6.el7_2.x86_64.rpm
b.其他相關支持:
- perl-Data-Dumper-2.145-3.el7.x86_64.rpm
- libaio-0.3.109-13.el7.x86_64.rpm
下載方式:https://pkgs.org
下面是下載路徑:
libaio-0.3.109-13.el7.x86_64.rpm
perl-Data-Dumper-2.145-3.el7.x86_64.rpm
numactl-libs-2.0.9-6.el7_2.x86_64.rpm
numactl-devel-2.0.9-6.el7_2.x86_64.rpm
numactl-2.0.9-6.el7_2.x86_64.rpm
3.上傳文件到服務器上
localhost:Downloads kylin$
scp
-r numactl-2.0.9-6.el7_2.x86_64.rpm root@linuxidc:
/root/
root@linuxidc‘s password:
numactl-2.0.9-6.el7_2.x86_64.rpm 100% 65KB 2.1MB
/s
00:00
localhost:Downloads kylin$
scp
-r numactl-libs-2.0.9-6.el7_2.x86_64.rpm root@linuxidc:
/root/
root@linuxidc‘s password:
numactl-libs-2.0.9-6.el7_2.x86_64.rpm 100% 29KB 1.7MB
/s
00:00
localhost:Downloads kylin$
scp
-r numactl-devel-2.0.9-6.el7_2.x86_64.rpm root@linuxidc:
/root/
root@linuxidc‘s password:
numactl-devel-2.0.9-6.el7_2.x86_64.rpm 100% 23KB 1.5MB
/s
00:00
localhost:Downloads kylin$
scp
-r perl-Data-Dumper-2.145-3.el7.x86_64.rpm root@linuxidc:
/root/
root@linuxidc‘s password:
perl-Data-Dumper-2.145-3.el7.x86_64.rpm 100% 47KB 1.2MB
/s
00:00
localhost:Downloads kylin$
scp
-r libaio-0.3.109-13.el7.x86_64.rpm root@linuxidc:
/root/
root@linuxidc‘s password:
Permission denied, please try again.
root@linuxidc‘s password:
libaio-0.3.109-13.el7.x86_64.rpm 100% 24KB 618.3KB
/s
00:00
localhost:Downloads kylin$
scp
-r mysql-5.7.20-1.el7.x86_64.rpm-bundle.
tar
root@linuxidc:
/root/
root@linuxidc‘s password:
mysql-5.7.20-1.el7.x86_64.rpm-bundle.
tar
100% 566MB 4.5MB
/s
02:05
查看上傳的包
[root@linuxidc ~]
# ls
anaconda-ks.cfg numactl-devel-2.0.9-6.el7_2.x86_64.rpm
libaio-0.3.109-13.el7.x86_64.rpm numactl-libs-2.0.9-6.el7_2.x86_64.rpm
miniconda2 perl-Data-Dumper-2.145-3.el7.x86_64.rpm
mysql-5.7.20-1.el7.x86_64.rpm-bundle.
tar
pythonshell
numactl-2.0.9-6.el7_2.x86_64.rpm
4.安裝
第一步,先安裝依賴,安裝 perl-Data-Dumper-2.145-3.el7.x86_64.rpm 和 libaio-0.3.109-13.el7.x86_64.rpm
[root@linuxidc ~]
# rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
Preparing...
################################# [100%]
package libaio-0.3.109-13.el7.x86_64 is already installed
[root@linuxidc ~]
# rpm -ivh perl-Data-Dumper-2.145-3.el7.x86_64.rpm
Preparing...
################################# [100%]
Updating / installing...
1:perl-Data-Dumper-2.145-3.el7
################################# [100%]
第二步,繼續安裝 numactl相關
[root@linuxidc ~]
# rpm -ivh numactl*
Preparing...
################################# [100%]
package numactl-libs-2.0.9-6.el7_2.x86_64 is already installed
如果不安裝這個包會報錯,錯誤如下(本人未測試):
error: Failed dependencies:
libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.18-1.el7.x86_64
libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-5.7.18-1.el7.x86_64
libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-5.7.18-1.el7.x86_64
若此時直接安裝mysql,還會異常:
warning: mysql-community-libs-5.7.18-1.el7.x86_64.rpm: Header V3 DSA
/SHA1
Signature, key ID 5072e1f5: NOKEY error: Failed dependencies:
mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.18-1.el7.x86_64
mariadb-libs is obsoleted by mysql-community-libs-5.7.18-1.el7.x86_64
第一行還能看明白,是依賴問題,第二行的“mariadb-libs 被廢棄”是什麽鬼?廢棄了為什麽不提供一個新的還要出現這種弱智提示呢?經過一番搜尋,才發現是因為在CentOS 7上已經有一個mariadb 而這個會與 MySQL的mariadb發生沖突。所以此時我們需要將系統自帶的mariadb卸載掉,然後使用mysql自帶的mariadb。
接下來查看mariadb版本
[root@linuxidc ~]
# rpm -qa | grep mariadb
mariadb-libs-5.5.52-1.el7.x86_64
卸載系統安裝的mariadb
[root@linuxidc ~]
# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
[root@linuxidc ~]
# rpm -qa | grep mariadb
[root@linuxidc ~]
#
解決好這個問題後,就可以安裝mysql了,先解壓mysql,並查看安裝包
[root@linuxidc ~]
# tar -xf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
[root@linuxidc ~]
# ls
anaconda-ks.cfg
libaio-0.3.109-13.el7.x86_64.rpm
miniconda2
mysql-5.7.20-1.el7.x86_64.rpm-bundle.
tar
mysql-community-client-5.7.20-1.el7.x86_64.rpm
mysql-community-common-5.7.20-1.el7.x86_64.rpm
mysql-community-devel-5.7.20-1.el7.x86_64.rpm
mysql-community-embedded-5.7.20-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.20-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.20-1.el7.x86_64.rpm
mysql-community-libs-5.7.20-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.20-1.el7.x86_64.rpm
mysql-community-minimal-debuginfo-5.7.20-1.el7.x86_64.rpm
mysql-community-server-5.7.20-1.el7.x86_64.rpm
mysql-community-server-minimal-5.7.20-1.el7.x86_64.rpm
mysql-community-
test
-5.7.20-1.el7.x86_64.rpm
numactl-2.0.9-6.el7_2.x86_64.rpm
numactl-devel-2.0.9-6.el7_2.x86_64.rpm
numactl-libs-2.0.9-6.el7_2.x86_64.rpm
perl-Data-Dumper-2.145-3.el7.x86_64.rpm
pythonshell
直接安裝,報錯:
[root@linuxidc ~]
# rpm -ivh mysql-community-*
warning: mysql-community-client-5.7.20-1.el7.x86_64.rpm: Header V3 DSA
/SHA1
Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
net-tools is needed by mysql-community-server-5.7.20-1.el7.x86_64
perl(JSON) is needed by mysql-community-
test
-5.7.20-1.el7.x86_64
貌似不能直接全安裝,有順序,繼續:
[root@linuxidc ~]
# rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
warning: mysql-community-common-5.7.20-1.el7.x86_64.rpm: Header V3 DSA
/SHA1
Signature, key ID 5072e1f5: NOKEY
Preparing...
################################# [100%]
Updating / installing...
1:mysql-community-common-5.7.20-1.e
################################# [100%]
[root@linuxidc ~]
# rpm -ivh mysql-community-libs-*
warning: mysql-community-libs-5.7.20-1.el7.x86_64.rpm: Header V3 DSA
/SHA1
Signature, key ID 5072e1f5: NOKEY
Preparing...
################################# [100%]
Updating / installing...
1:mysql-community-libs-5.7.20-1.el7
################################# [ 50%]
2:mysql-community-libs-compat-5.7.2
################################# [100%]
[root@linuxidc ~]
# rpm -ivh mysql-community-devel-5.7.20-1.el7.x86_64.rpm
warning: mysql-community-devel-5.7.20-1.el7.x86_64.rpm: Header V3 DSA
/SHA1
Signature, key ID 5072e1f5: NOKEY
Preparing...
################################# [100%]
Updating / installing...
1:mysql-community-devel-5.7.20-1.el
################################# [100%]
[root@linuxidc ~]
#
[root@linuxidc ~]
# rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.20-1.el7.x86_64.rpm: Header V3 DSA
/SHA1
Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
mysql-community-client(x86-64) >= 5.7.9 is needed by mysql-community-server-5.7.20-1.el7.x86_64
net-tools is needed by mysql-community-server-5.7.20-1.el7.x86_64
說缺少net-tools ,下載下來裝唄,繼續:
net-tools-2.0-0.22.20131004git.el7.x86_64.rpm
[root@linuxidc ~]
# rpm -ivh net-tools-2.0-0.22.20131004git.el7.x86_64.rpm
Preparing...
################################# [100%]
Updating / installing...
1:net-tools-2.0-0.22.20131004git.el
################################# [100%]
[root@linuxidc ~]
# rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.20-1.el7.x86_64.rpm: Header V3 DSA
/SHA1
Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
mysql-community-client(x86-64) >= 5.7.9 is needed by mysql-community-server-5.7.20-1.el7.x86_64
[root@linuxidc ~]
# rpm -ivh mysql-community-c
mysql-community-client-5.7.20-1.el7.x86_64.rpm mysql-community-common-5.7.20-1.el7.x86_64.rpm
[root@linuxidc ~]
# rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm
warning: mysql-community-client-5.7.20-1.el7.x86_64.rpm: Header V3 DSA
/SHA1
Signature, key ID 5072e1f5: NOKEY
Preparing...
################################# [100%]
Updating / installing...
1:mysql-community-client-5.7.20-1.e
################################# [100%]
[root@linuxidc ~]
# rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.20-1.el7.x86_64.rpm: Header V3 DSA
/SHA1
Signature, key ID 5072e1f5: NOKEY
Preparing...
################################# [100%]
Updating / installing...
1:mysql-community-server-5.7.20-1.e
################################# [100%]
中間安裝server時,又說必須安裝client,至此,mysql安裝成功,打完收工。
5.啟動查看配置
[root@linuxidc ~]
# service mysqld start
Redirecting to
/bin/systemctl
start mysqld.service
[root@linuxidc ~]
# service mysqld status
Redirecting to
/bin/systemctl
status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (
/usr/lib/systemd/system/mysqld
.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2017-11-04 13:56:37 CST; 24s ago
Docs:
man
:mysqld(8)
http:
//dev
.mysql.com
/doc/refman/en/using-systemd
.html
Process: 4644 ExecStart=
/usr/sbin/mysqld
--daemonize --pid-
file
=
/var/run/mysqld/mysqld
.pid $MYSQLD_OPTS (code=exited, status=0
/SUCCESS
)
Process: 4571 ExecStartPre=
/usr/bin/mysqld_pre_systemd
(code=exited, status=0
/SUCCESS
)
Main PID: 4647 (mysqld)
CGroup:
/system
.slice
/mysqld
.service
└─4647
/usr/sbin/mysqld
--daemonize --pid-
file
=
/var/run/mysqld/mysqld
.pid
Nov 04 13:56:07 linuxidc systemd[1]: Starting MySQL Server...
Nov 04 13:56:37 linuxidc systemd[1]: Started MySQL Server.
至此,無網安裝難的歷史已經結束,至少的我實驗沒問題了,好像還缺點是什麽,數據庫密碼是啥?
[root@linuxidc ~]
# cat /var/log/mysqld.log | grep password
2017-11-04T05:56:08.454323Z 1 [Note] A temporary password is generated
for
root@localhost: ps1DY?%T.Vc4
這樣就可以登錄數據庫了,try一下:
[root@linuxidc ~]
# mysql -u root
ERROR 1045 (28000): Access denied
for
user
‘root‘
@
‘localhost‘
(using password: NO)
報錯了,連輸入密碼的機會也沒有。
[root@linuxidc ~]
# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection
id
is 6
Server version: 5.7.20
Copyright (c) 2000, 2017, Oracle and
/or
its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and
/or
its
affiliates. Other names may be trademarks of their respective
owners.
Type
‘help;‘
or
‘\h‘
for
help. Type
‘\c‘
to
clear
the current input statement.
mysql>
登陸成功試試,數據庫好使不
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
不改密碼,用不了,繼續:
mysql> ALTER USER
‘root‘
@
‘localhost‘
IDENTIFIED BY
‘你的密碼‘
;
Query OK, 0 rows affected (0.02 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
然後再使用SQL就沒問題了
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows
in
set
(0.00 sec)
用數據庫工具鏈接,出現問題:
不允許遠程訪問,改繼續:
mysql> GRANT ALL PRIVILEGES ON *.* TO
‘root‘
@
‘%‘
IDENTIFIED BY
‘你的密碼‘
WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
再試就沒有問題了,至此數據庫安裝問題基本沒有。
查看mysql配置文件地址:
[root@linuxidc ~]
# find / -iname ‘*.cnf‘ -print
/etc/pki/tls/openssl
.cnf
/etc/my
.cnf
/root/miniconda2/pkgs/openssl-1
.0.2l-0
/ssl/openssl
.cnf
/root/miniconda2/ssl/openssl
.cnf
/var/lib/mysql/auto
.cnf
查看字符集:
mysql> show variables like
‘char%‘
;
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir |
/usr/share/mysql/charsets/
|
+--------------------------+----------------------------+
8 rows
in
set
(0.01 sec)
至此數據庫安裝完畢。
linux 無外網情況下安裝 mysql