基于CentOS7安装数据库MySQL5.7

基于CentOS7安装数据库MySQL5.7

  • 一、安装命令
  • 二、重置密码
      • 解决异常
  • 三、远程连接
      • 1.开启权限
      • 2.开通端口
        • 解决异常一
        • 解决异常二

一、安装命令

1.# cd /usr/local/src/
2.# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
3.# rpm -ivh mysql57-community-release-el7-8.noarch.rpm
4.# yum -y install mysql-server

至此,MySQL安装完成!可输入mysqladmin --version查询。

二、重置密码

1.启动服务
# service mysqld restart
2.查询密码
# grep "password" /var/log/mysqld.log
3.登录
# mysql -u root -p
4.输入第二步查询出的密码
5.重置密码
> alter user 'root'@'localhost' identified by '此处填写新密码';
6.刷新权限
> flush privileges;

至此,密码重置完成!注意:在执行步骤5时,可能抛出异常,“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements”,这是因为指定的密码不符合现有的密码策略。

解决异常

法一:填写符合现有策略的密码。
法二:更改密码策略
1.更改密码策略为LOW
> set global validate_password_policy=0;
2.更改密码长度
> set global validate_password_length=0;
3.重新设置密码即可。

三、远程连接

在Linux服务器上安装好了MySQL后,我们使用Navicat进行远程连接时,可能出现连接不上问题。这是因为默认mysql的用户是没有远程访问的权限的,因此需要开启mysql的远程访问权限;且Linux服务器也可能没有开通3306端口,因此还需要开通此端口。

1.开启权限

1.登录MySQL
# mysql -u root -p
2.修改mysql库的user表,将host项,从localhost改为%,%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。
> use mysql; 
> update user set host = '%' where user = 'root'; 
> select host, user from user; 
> flush privileges;

2.开通端口

1.防火墙开启
# service iptables start
2.开启3306端口接收数据
# iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
3.开启3306端口发送数据
# iptables -A OUTPUT -p tcp --dport 3306 -j ACCEPT
4.保存上述规则
# service iptables save
5.开启服务
# systemctl restart iptables.service

至此,远程连接即可成功!注意:在执行防火墙相关命令时,可能出现异常,如:“Redirecting to /bin/systemctl restart iptables.service”。或者:“Job for iptables.service failed because the control process exited with error code. See “systemctl status iptables.service” and “journalctl -xe” for details”。

解决异常一

1.安装systemctl
# yum install iptables-services
2.设置开机启动
# systemctl enable iptables.service
3.然后就可执行防火墙相关等命令了,如:
# systemctl stop iptables
# systemctl start iptables
# systemctl restart iptables
# systemctl reload iptables

解决异常二

关闭firewalld即可
# systemctl stop firewalld  
# systemctl mask firewalld

你可能感兴趣的:(数据库,数据库,MySQL安装)