Centos7下使用yum安装Mysql

首先centos7 已经不支持mysql,因为收费了,所以内部集成了mariadb,

而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb。由于确定使用mysql,那只有卸载mariadb了。

 

一、首先查看当前安装的mariadb包

rpm -qa|grep mariadb

本人得到结果是:mariadb-libs-5.5.44-2.el7.centos.x86_64

二、卸载mariadb

rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64

得到错误提示如下:

1 error: Failed dependencies:
2     libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
3     libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64
提示有第三方的库依赖。

三、强制卸载mariadb

rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

四、安装Mysql

(CentOS7的yum源中默认是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源

检查是否安装过mysql

rpm -qa|grep -i mysql

如果没有任何输入证明没有安装过,如果安装过需要卸载的话用rpm -e 软件包名  来卸载)

 

1.下载并安装MySQL官方的 Yum Repository

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

执行完后当前目录下会多出一个.rpm包

如果 wegt 未安装的话可以先用 yum 安装 wget :

yum install wget

2. 安装mysql57-community-release-el7-10.noarch.rpm包

yum -y install mysql57-community-release-el7-10.noarch.rpm

执行该命令时需要在当前目录下有这个rpm包

安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

3. 安装MySQL

yum -y install mysql-community-server

至此MySQL就安装完成了,然后是对MySQL的一些设置

4.重置MySQL密码

在MySQL安装完成后,第一次启动MySQL时,会把密码记录到 /var/log/mysqld.log 文件中

首先启动MySQL:

systemctl start  mysqld.service

查看mysql运行状态:

systemctl status mysqld.service

找出在日志文件中的密码:

grep "password" /var/log/mysqld.log

注意这个密码是包含了最后那个分号的,我没输入分号,一直提示错误。。 

然后把临时密码复制下来,进入数据库进行修改密码

进入数据库

mysql -u root -p

输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'your new password';  

新密码要包含数字字母,否则报不合法的错误

如果一直说设置的新密码密码不合法,可以做着两部再修改密码。

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

登录时有可能报这样的错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

chown -R root:root /var/lib/mysql

5. 开放3306端口

我是直接关闭防火墙firewall,然后打开阿里云的端口策略3306

如果想要使用iptables,centos7默认是firewall,我们可以把它停止并禁止使用,然后启动我们熟悉的iptables,这样就好了

编辑iptables

vi  /etc/sysconfig/iptables

添加以下内容

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

保存退出并重启防火墙

systemctl restart iptables.service

6. 授权用户远程登录

登进数据库中,进行授权

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'your new password' WITH GRANT OPTION;

现在就可以从客户机连接mysql服务器了

 

参考:https://www.cnblogs.com/lyjing/p/8524797.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值