1.MySQL 8数据库的下载和安装
书接上回,想要在centos7上部署web项目,并且发布。上面成功安装了tomcat9和JDK 14,但是最后报数据库出错。
之前在服务器上安装了MySQL5.7 但是用于本地开发使用的是MySQL8.0
查看MySQL版本的语句:
select version();
于是在服务端先卸载MySQL5.7
1.1 清除原来的数据库
使用以下命令查找出安装的mysql软件包和依赖包:
rpm -qa | grep mysql
显示结果如下(这是完成之后8的包,我之前是5.7的,但是当时没截图,大家自行YY)
使用以下命令依次删除上面的程序
yum remove mysql-xxx-xxx-
1.2 安装新的数据库
1.2.1 更新 yum
在使用yum安装 MySQL 前,先更新 yum
yum update -y
花费时间较长。
1.2.2 添加 MySQL 的 yum 仓库源
选择 CentOS 7 版本的 mysql 源
或者使用命令操作:
sudo yum install -y wget
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo yum localinstall mysql80-community-release-el7-3.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*"
查看现在启用的MySQL版本:
yum repolist all | grep mysql
发现启用的恰好是MySQL8.(因为这是最新的)。
----------可以根据自己的本地版本进行启用。
1.2.3安装 mysql
命令
sudo yum install -y mysql-community-server
待命令执行结束,安装即完成
启动 mysql 服务:
sudo service mysqld start
查看 mysql 服务状态:
sudo service mysqld status
启动成功。
2.Navicat远程连接服务器
开启mysql远程服务
2.1 修改mysql数据库下的user表中host的值
!登录MySQL修改初始密码
mysql在安装后会创建一个root@locahost账户,并且把初始的密码放到了/var/log/mysqld.log文件中;
在命令行输入:
cat /var/log/mysqld.log | grep password
获得密码:
通过初始密码登录后:
修改初始密码:刚开始设置的密码必须含有数字,小写或大写字母,特殊字符。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
在服务端的电脑,使用新密码登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost"改称"%"登录mysql数据库 执行如下命令:
mysql -u root -p
use mysql;
update user set host='%' where user='root';
2.2 使用授权的方式
赋予任何主机访问数据的权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES
bug如果第一条命令通不过,那再执行一次,就通过了就很迷!!!
使用navicat进行连接。
localhost改为服务器的公网IP地址,密码就是服务器MySQL的密码。
连接成功。
3.将本地数据放到服务器上
这个连接到本地的Navicat上就变的异常简单了,只需要在本地导入sql文件,再在服务器的MySQL连接中执行sql语句,就可以了。
ok部署完成。
参考博客:
CentOS7 安装 mysql8
CentOS 7 安装MySQL 5.7 或安装指定版本MySQL
解决MySQL8.0报错:Unknown system variable ‘validate_password_policy’