CentsOS7无网情况下安装mysql5.7
1.需求就不用讲了,客户现场,政府环境,银行环境,大多是没网的,所以无网安装是很有必要的
mysql下载路径:https://dev.mysql.com/downloads/mysql/
查看自己Linux系统版本
[root@kylintest ~]# 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@kylintest:/root/ root@kylintest'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@kylintest:/root/ root@kylintest'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@kylintest:/root/ root@kylintest'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@kylintest:/root/ root@kylintest'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@kylintest:/root/ root@kylintest's password: Permission denied, please try again. root@kylintest'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@kylintest:/root/ root@kylintest's password: mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar 100% 566MB 4.5MB/s 02:05
查看上传的包
[root@kylintest ~]# 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@kylintest ~]# 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@kylintest ~]# 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@kylintest ~]# 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@kylintest ~]# rpm -qa | grep mariadb mariadb-libs-5.5.52-1.el7.x86_64
卸载系统安装的mariadb
[root@kylintest ~]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64 [root@kylintest ~]# rpm -qa | grep mariadb [root@kylintest ~]#
解决好这个问题后,就可以安装mysql了,先解压mysql,并查看安装包
[root@kylintest ~]# tar -xf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar [root@kylintest ~]# 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@kylintest ~]# 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@kylintest ~]# 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@kylintest ~]# 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@kylintest ~]# 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@kylintest ~]# [root@kylintest ~]# 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@kylintest ~]# 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@kylintest ~]# 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@kylintest ~]# 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@kylintest ~]# 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@kylintest ~]# 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@kylintest ~]# service mysqld start Redirecting to /bin/systemctl start mysqld.service [root@kylintest ~]# 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 kylintest systemd[1]: Starting MySQL Server... Nov 04 13:56:37 kylintest systemd[1]: Started MySQL Server.
至此,无网安装难的历史已经结束,至少的我实验没问题了,好像还缺点是什么,数据库密码是啥?
[root@kylintest ~]# 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@kylintest ~]# mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
报错了,连输入密码的机会也没有。
[root@kylintest ~]# 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@kylintest ~]# 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)
至此数据库安装完毕。