centos7(阿里云服务器)安装mysql(rpm)

1.检查系统中是否有mysql相关的安装包

rpm -qa|grep mysql
rpm -qa|grep maridb

2.将相关的安装包使用yum移除,否则在安装mysql时会出现依赖冲突,导致安装失败

yum remove mysql-libs
yum remove mariadb-libs.x86_64

3.到官网下载相关的rpm的包

下载地址:https://dev.mysql.com/downloads/mysql/
在这里插入图片描述
下载成后上传到服务器中。

4.将上传的rpm安装包进行解压

tar -zxf  mysql-5.7.22-1.el7.x86_64.rpm-bundle


[root@iZwz9j6qtvdm8w07f8fk6jZ mysql-5.7.22-1.el7.x86_64.rpm-bundle]# ls
mysql80-community-release-el7-1.noarch.rpm
mysql-community-client-5.7.22-1.el7.x86_64.rpm
mysql-community-common-5.7.22-1.el7.x86_64.rpm
mysql-community-devel-5.7.22-1.el7.x86_64.rpm
mysql-community-embedded-5.7.22-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.22-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.22-1.el7.x86_64.rpm
mysql-community-libs-5.7.22-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.22-1.el7.x86_64.rpm
mysql-community-minimal-debuginfo-5.7.22-1.el7.x86_64.rpm
mysql-community-server-5.7.22-1.el7.x86_64.rpm
mysql-community-server-minimal-5.7.22-1.el7.x86_64.rpm
mysql-community-test-5.7.22-1.el7.x86_64.rpm


5.使用rpm命令安装

[root@iZwz9j6qtvdm8w07f8fk6jZ mysql-5.7.22-1.el7.x86_64.rpm-bundle]# rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm 
warning: mysql-community-common-5.7.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-common-5.7.22-1.e################################# [100%]
[root@iZwz9j6qtvdm8w07f8fk6jZ mysql-5.7.22-1.el7.x86_64.rpm-bundle]# rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm 
warning: mysql-community-libs-5.7.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-libs-5.7.22-1.el7################################# [100%]
[root@iZwz9j6qtvdm8w07f8fk6jZ mysql-5.7.22-1.el7.x86_64.rpm-bundle]# rpm -ivh mysql-community-client-5.7.22-1.el7.x86_64.rpm 
warning: mysql-community-client-5.7.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-client-5.7.22-1.e################################# [100%]
[root@iZwz9j6qtvdm8w07f8fk6jZ mysql-5.7.22-1.el7.x86_64.rpm-bundle]# rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm 
warning: mysql-community-server-5.7.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-server-5.7.22-1.e################################# [100%]

注:在安装过程中,若出现依赖无法被安装的错误:

[root@pinyougou03 mysql]# rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm 
警告:mysql-community-server-5.7.22-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
        /usr/bin/perl 被 mysql-community-server-5.7.22-1.el7.x86_64 需要
        net-tools 被 mysql-community-server-5.7.22-1.el7.x86_64 需要
        perl(Getopt::Long) 被 mysql-community-server-5.7.22-1.el7.x86_64 需要
        perl(strict) 被 mysql-community-server-5.7.22-1.el7.x86_64 需要

该问题是由于虚拟机中没有安装perl等依赖包,使用yum进行安装即可

yum -y install perl.x86_64
yum install -y libaio.x86_64
yum -y install net-tools.x86_64

若依赖问题始终无法解决,可强制跳过依赖检测

例如:

[root@kafka03 mysql]# rpm -ih mysql-community-client-5.7.22-1.el7.x86_64.rpm 
警告:mysql-community-client-5.7.22-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
	mysql-community-libs(x86-64) >= 5.7.9 被 mysql-community-client-5.7.22-1.el7.x86_64 需要
	MySQL-client < 5.7.22-1.el7 被 mysql-community-client-5.7.22-1.el7.x86_64 取代
	
	
##使用 --nodeps --force跳过依赖检测
root@kafka03 mysql]# rpm -ih mysql-community-client-5.7.22-1.el7.x86_64.rpm --nodeps --force
警告:mysql-community-client-5.7.22-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
################################# [100%]
正在升级/安装...
################################# [100%]

6。启动mysql,并修改数据库密码

1.启动mysql

systemctl start mysqld.service    启动mysql
systemctl status mysqld.service  查看mysql状态
systemctl stop mysqld.service   关闭mysql

[root@iZwz9j6qtvdm8w07f8fk6jZ ~]# systemctl start mysqld.service
[root@iZwz9j6qtvdm8w07f8fk6jZ ~]# systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2019-06-05 18:25:43 CST; 1 months 16 days ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
   CGroup: /system.slice/mysqld.service
           ├─ 856 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/loc...
           └─2170 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --da...

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

2.修改mysql的配置文件

初次登陆直接跳过输入密码,免密登录,修改/etc/目录下的my.cnf文件,加入如下代码

skip-grant-tables

保存,重启msyql,使用mysql -u root -p命令直接登陆,不用输入密码。

[root@iZwz9j6qtvdm8w07f8fk6jZ ~]# systemctl restart mysqld.service
[root@iZwz9j6qtvdm8w07f8fk6jZ ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, 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> 

登陆进去之后修改密码
注(5.7版本以前的可以忽略):如果要将密码设置为简单的形式如(123),则先将数据库密码设置为大写+小写+数字+特殊符号,这是mysql5.7以后的密码策略,不能再设置为简单的123456了。(在无密码状态下设置的密码如果不符合这个密码策略,当免密登录即my.cnf文件中的skip-grant-tables删除后,使用设置的简单密码,无法登录mysql) 。修改密码策略见本文第七节

show databases;
use mysql;
update user set password=passworD("you_password") where user='root';
//这里是我设置的密码update user set password=passworD("zz123456ZZ") where user='root';

会报错

ERROR 1054 (42S22): Unknown column 'password' in 'field list'

原因:在5.7以后的mysql中。password字段不存在了,改为了authentication_string

update user set authentication_string=password("you_password") where user='root';
//这里是我设置的数据库密码update user set authentication_string=password("zz123456ZZ") where user='root';
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'you_password';
//ALTER USER 'root'@'localhost' IDENTIFIED BY 'zz123456ZZ';
或者使用
SET password='you_password';
//(SET password='zz123456ZZ');

退出,将my.cnf中的免密登陆去掉,就可以使用密码登陆了。
在这里插入图片描述

7.修改数据的密码策略

在mysql5.7版本以后,数据库的密码不能简单的设置为(“123456”),主要是由于数据库的密码策略导致的,为了连接数据库方便,修改数据库的密码策略。

修改/etc/my.cnf文件,添加密码的过期时间,关掉密码策略

default_password_lifetime=0                    //设置密码永久有效

validate_password=off                          //关掉密码策略

保存退出,并重启mysql

systemctl restart mysqld.service

此时再登录mysql后就可以将密码修改为简单形式了

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
或者
SET password='123456';

修改完成后,重新登录mysql,此时mysql的密码为(“123456”)

8.远程连接mysql

为了能够远程连接服务器中的mysql,需要对mysql进行授权
授权命令如下:

 grant all privileges  on *.* to root@'%' identified by "123456";
 
 flush privileges;

此时再windows中使用Navicat就可以远程连接该服务器了
在这里插入图片描述
修改数据库密码策略参考博文:https://blog.csdn.net/muziljx/article/details/81541896

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值