Centos7安装(配置)Mysql5.7

 

环境:Centos七、JDK1.8(已经安装成功)、MySQL5.7
步骤:
  1.卸载Mariadb
  2.经过Wget下载mysql5.7
  3.安装&配置

 

  经过官网下载Mysql5.7版本,而后移动到Centos系统上。也能够经过wget命令下载。html

1.卸载mariadb

  先查询mariadb相关安装包.卸载mariadb。mariadb是系统自带的MySQL的妹妹数据库。node

[root@localhost ~]# rpm -qa|grep marimysql

[root@localhost ~]# rpm -e --nodeps mariadb-libslinux

[root@localhost ~]# rpm -qa|grep marisql

marisa-0.2.4-4.el7.x86_64数据库

 

2.Wget安装mysql5.7

  经过wget下载mysql5.7安装包.咱们进入/opt,由于/opt存放咱们的安装软件,这是一个好习惯。服务器

  若是是经过我分享的软件包,就不须要执行这一步骤。可跳过这一步骤。挂载的问题在JDK中已经说明。网络

#将mysql5.7安装包下载到opt,也能够选择其它目录。看我的选择tcp

[root@localhost ~]# cd /opt/ide

 

#查看当前路径是不是opt

[root@localhost opt]# pwd

/opt

 

#查看当前目录的文件状况

[root@localhost opt]# ll

总用量 0

drwxr-xr-x. 2 root root 6 10月 31 2018 rh

 

#加-c表示断点续传 当文件特别大或者网络特别慢的时候,每每一个文件尚未下载完,链接就已经被切断,此时就须要断点续传。wget的断点续传是自动的,只须要使用-c参数

[root@localhost opt]# wget -c http://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

 

 3.安装&配置

(1).安装Mysql5.7

#经过tar解压, 只要后缀为.tar,则使用-xvf,xvf是固定的格式

[root@localhost opt]# tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

 

#经过rpm命令软件包管理工具,安装mysql依赖。必定要按顺序执行,不然可能出现依赖的问题

[root@localhost opt]# rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm

[root@localhost opt]# rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm

 

#查看mysql的rpm文件

[root@localhost opt]# ls

 

 

 

(2).启动mysql5.7

#运行systemctl start mysqld.service,启动mysql

[root@localhost opt]# systemctl start mysqld.service

 

#查看mysql状态

[root@localhost opt]# systemctl status mysqld.service

 

(3).初始化mysql

#Mysql自动给root用户设置随机密码,运行grep "password" /var/log/mysqld.log可看到当前密码

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

2020-11-19T12:09:39.357942Z 1 [Note] A temporary password is generated for root@localhost: uh=FR-wzg0A(

 

[root@localhost ~]# mysql -uroot -p

Enter password: uh=FR-wzg0A(

 

#修改默认密码

#默认的状况下设置的密码是有限制的,太简单不能设置;经过设置能够修改为简单密码

 

#简单密码设置

#更改密码策略为LOW:

mysql> set global validate_password_policy=0;

Query OK, 0 rows affected (0.00 sec)

 

#更改密码长度

mysql> set global validate_password_length=0;

Query OK, 0 rows affected (0.00 sec)

 

#修改默认密码

mysql> set password for 'root'@'localhost' = password('root123.');

Query OK, 0 rows affected, 1 warning (0.00 sec)

 

 

(4).其它设置

[1].开启开机自启动mysql

#设置linux开机自启动mysql;若是失败了,可自行百度

[root@localhost opt]# systemctl enable mysqld.service

 

#查看是否自启动成功;[' ']中若带*则为开机自启动

[root@localhost ~]# ntsysv

 

[2].端口设置

  如需外网访问须要开设端口等一些设置。

#向防火墙添加容许访问的端口时,防火墙的状态必须是开启状态

[root@localhost ~]# systemctl start firewalld.service

#固定模式记住就行,只须要修改端口号便可。

[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent

success

[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent

success

 

#重启防火墙,修改防火墙后都要执行该操做

[root@localhost ~]# firewall-cmd --reload

success

#   命令含义:

 

#   –zone #做用域

#   –add-port=80/tcp #添加端口,格式为:端口/通信协议

#   –permanent #永久生效,没有此参数重启后失效

[3].mysql远程设置

  若想经过远程访问,或者经过本地的navicat、SQLyog,则必需要配置远程访问用户。若是没配置,访问时会出现1001六、1130等问题。

#对系统数据库的root帐户设置远程访问的密码,与本地的root访问密码并不冲突:

mysql> grant all privileges on *.* to 'root'@'%' identified by 'root123.' with grant option;

Query OK, 0 rows affected, 1 warning (0.00 sec)

 


 

常见的MySQL错误:

  问题1:链接MySQL的10060错误:Can't connect to MySQL server on '*.*.*.*'(10060)

  解决方法:

    网络问题链接不通:设置链接网络 服务未启动:systemctl start mysqld.service 防火墙未关闭(不推荐,生产环境不能够关闭):systemctl stop firewalld.service 服务器上防火墙端口未开放: firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload 权限不足:使用root登陆MySQL执行 grant all privileges on *.* to 'root'@'%' identified by 'root123.' with grant option;

  问题2:ERROR 1130: Host '192.168.1.3' is not allowed to connect to thisMySQL serve

  解决方法:

    多是你的账号不容许从远程登录,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改"mysql" 数据库里的 "user" 表里的 "host"项,从"localhost"改称"%"。

    权限不足:使用root登陆MySQL执行 grant all privileges on *.* to 'root'@'%' identified by 'root123.' with grant option;

防火墙经常使用操做

firewall-cmd --reload #重启

 

systemctl stop firewalld.service #中止

 

systemctl disable firewalld.service #禁止firewall开机启动

 

firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

相关文章
相关标签/搜索