centos7下使用yum安装mysql

Centos7的yum源中默认好像是没有mysql的。所以首先要下载mysql的repo源
1. 下载mysql的repo源

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2. 安装mysql-community-release-el7-5.noarch.rpm包

sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

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

sudo yum install mysql-server

根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。
4. 重置密码
重置密码前,首先要登录

mysql -u root

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

sudo chown -R openscanner:openscanner /var/lib/mysql

然后,重启服务:

service mysqld restart

接下来登录重置密码:

mysql -u root
mysql > use mysql;
mysql > update user set password=password(‘123456‘) where user=‘root‘;
mysql > exit;

5. 开放3306端口

sudo vim /etc/sysconfig/iptables

添加以下内容:

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

保存后重启防火墙:

systemctl restart firewalld.service

这时从客户端连接的时候可能会报10038错误
(1)首先要确认的是3306端口是不是对外开放了。mysql默认状态下是不开发对外访问的功能的,所以大多数这就是问题的所在。
进入服务器,

~# netstat -an | grep 3306 
tcp 0 0 127.0.0.1:3306   0.0.0.0:* LISTEN

仔细查看,如果都是127.0.0.1,那么说明3306端口没有对外开放,只是监听本地的连接。

Solution:进入到mysql的配置文件所在目录(/etc/mysql/my.cnf)找到文件中如下内容:

bind-address  = 127.0.0.1  

将bind-address注释掉,或者改成客户端主机IP
(2)下面你还要确认的一件事就是确认客户端用户是否具有权限

mysql>grant all privileges on *.* to username@"%" identified by "password";
mysql>flush privileges;

注意%后面要空一隔
上面的命令授予的用户权限可以访问mysql中的任意数据库(database)和表(table)。
如果连接还是不行,请把防火墙关闭

systemctl stop firewalld.service

这样从其它客户机也可以连接上mysql服务了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值