linux系统安装mysql yum方式

起初我是想用tar包安装的,但是奈何我死活无法从官网上下载mysql.tar包,所以改用了yum方式

一、查看系统是否已经存在mysql,有则卸载(参考博文:https://www.cnblogs.com/javabg/p/9970723.html

(yum安装是最简便和稳定的安装方式,centos7默认安装的是mariadb,需要先卸载mariadb,先查看是否安装mariadb

rpm -qa | grep mariadb

如果找到,则拷贝结果,使用下面命令删除,如删除mariadb-libs-5.5.35-3.el7.x86_64

rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64)

1.卸载  先停掉mysql进程   没有安装过的可以直接跳过

        pkill -9 mysqld

2、rpm -qa|grep -i mysql

3、用命令 yum -y remove

      yum -y remove mysql-community-client-5.6.38-2.el7.x86_64

      卸载不掉的用 rpm -ev 

      依次卸载 直到没有

二、下载安装

 cd /usr/mysql(我自己创建的)

1.安装rpm包

直接使用yum -y install 命令安装mysql是无法安装mysql的高级版本,需要先安装带有可用的mysql5系列社区版资源的rpm包,输入如下命令进行安装。

命令:rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

(有的博文是这样做的:

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server)

2.查看mysql可用版本

命令:yum repolist enabled | grep "mysql.*-community.*"

3、输入如下命令开始安装mysql

命令:yum -y install mysql-community-server

可以使用命令让mysql服务加入开机启动(可选):systemctl enable mysqld

4.  启动mysql服务

(service mysqld restart  有人这样启动)

 systemctl start  mysqld.service  启动命令

systemctl status mysqld.service  查看状态命令

 重置密码,先获取原始密码,如下(使用初始密码,不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:)

    [root@localhost ~]# grep "password" /var/log/mysqld.log   

 

  mysql -uroot -p     # 回车后会提示输入密码

mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

执行这个可能会报错,因为密码过于简单

MySQL有密码设置的规范,具体是与validate_password_policy的值有关

MySQL完整的初始密码规则可以通过如下命令查看:SHOW VARIABLES LIKE 'validate_password%';

这时候我们要把密码规则改一下,执行下面sql就可以了:

 set global validate_password_policy=0;

 set global validate_password_length=1;

设置之后就是我上面查出来的那几个值了,此时密码就可以设置的很简单,例如1234之类的。到此数据库的密码设置就完成了。

 

 但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

 yum -y remove mysql57-community-release-el7-10.noarch

操作完成上面的,现在还不能用可视化的客户端进行连接,需要我们进行授权:

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
(如果想限制只能让指定IP登录请把%替换成IP地址)
然后使用navicat连接mysql,可能还会报错
先退出mysql:exit
然后需要使用命令永久开放3306端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent
重载防火墙: firewall-cmd --reload
查看是否有监听端口使用情况:netstat -nalp|grep 3306
 

 按上述操作发现不行,还是连接不上

有人说要设置my.cnf中mysql的绑定地址(参考博文 : https://blog.csdn.net/qq_39206238/article/details/80351803

找到:bind-address = 127.0.0.1

去除 IP 地址绑定,把它改为:bind-address = 0.0.0.0

使用 whereis my.cnf 命令,可以查找该文件的位置

进入mysql cmd,mysql>status;将显示当前mysql的version的各种信息。 方法二:还是在mysql的cmd下,输入:mysql>show global variables like 'port'; 将显示端口号方法三:打开mysql的 配置文件 my.ini进入后直接查看 port

期间操作命令用到了

mysql -uroot -p

use mysql 

select user,host from user;

结果我的navicat还是连接不上,找了一圈发现,是因为我用的linux服务器是阿里云的,我的连接请求被阿里云安全组规则拦住了,解决如下:

 

 点击实例ID进入以下界面:

 

 点击安全组进入安全组配置:

 

 具体配置参考如下:

https://help.aliyun.com/document_detail/25475.html?spm=5176.2020520101.0.0.13cf4df5h5auou#d14e17

 

 

解决!!!!

 

posted @ 2020-03-13 11:05  田海超  阅读(202)  评论(0编辑  收藏  举报