Centos7安装(配置)Mysql5.7

 

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

 

  通过官网下载Mysql5.7版本,然后移动到Centos系统上。也可以通过wget命令下载。

1.卸载mariadb

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

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

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

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

marisa-0.2.4-4.el7.x86_64

 

2.Wget安装mysql5.7

  通过wget下载mysql5.7安装包.我们进入/opt,因为/opt存放我们的安装软件,这是一个好习惯。

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

#将mysql5.7安装包下载到opt,也可以选择其它目录。看个人选择

[root@localhost ~]# cd /opt/

 

#查看当前路径是否是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,则必须要配置远程访问用户。如果没配置,访问时会出现10016、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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章