环境:Centos七、JDK1.8(已经安装成功)、MySQL5.7
步骤:
1.卸载Mariadb
2.经过Wget下载mysql5.7
3.安装&配置
经过官网下载Mysql5.7版本,而后移动到Centos系统上。也能够经过wget命令下载。html
先查询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数据库 |
经过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 |
(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) |