目录
一、卸载mysql数据库
1)停止运行
如果正在运行,需要停止运行
systemctl stop mysqld
2)删除已安装数据库服务
查看已经安装的mysql命令
然后使用命令将其删除掉
yum remove mysql mysql-server mysql-libs mysql-communtity
接下来查看剩余文件
如果有的话使用rpm -ev进行删除(rpm -ev +对应文件名)
卸载完成
接下来安装MySQL
二、安装MySQL服务(yum安装)
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。
1)安装mysql57-community-release-el7-9.noarch.rpm
yum -y install mysql57-community-release-el7-9.noarch.rpm
2)安装mysql服务器
之后安装mysql服务器
yum -y install mysql-community-server
安装完成之后会覆盖掉MariaDB。
等待下载
由于疏忽此时出现错误
出现此问题的原因是因为之前安装过mysql,有遗留的源key
然而GPG对于包的源key的验证没有通过,所以我们需要跳过GPG验证。
在命令后面加上—nogpgcheck
比如命令
yum -y install mysql-community-server –nogpgcheck
等待下载安装。
现在数据库已经安装完成,可以启动服务。
3)数据库设置
接下来需要进行数据库的设置。
1、 启动数据库
systemctl start mysqld
2、 设置自启
查看是否自启
systemctl is-enabled mysqld
显示已经是自启状态。
如果没有设置自启,将其设置为自启状态。
systemctl enable mysqld
如果需要关闭自启,使用命令
systemctl disabled mysqld
3、 查看数据库运行状态
Systemctl命令传送门
systemctl status mysqld
图上所示为已启用
4、 找出默认root密码(或者跳过密码验证)
(1)、找出默认密码
grep "password" /var/log/mysqld.log
在日志文件中找出默认密码(我没找出来)
(2)、跳过密码验证
vim /etc/my.cnf
#(注:windows下修改的是my.ini)
编辑该配置文件,在[mysqld]后面任意一行添加‘skip-grant-tables‘用来跳过密码验证。
添加完之后重启过mysql服务以生效。
(3)用root登录mysql。
5、 更改密码
update set authentication_string =password('123456') where user='root'
此时为修改成功。接下来重启mysql服务。
接下来使用账号密码登录而不是跳过登陆验证。
此时已经可以正常登录。
接下来打开所需端口
6、 开启端口
由于是阿里云服务器,需要在阿里云中开启端口,具体过程不在过多赘述
7、 开启root远程访问
登录数据库执行一下语句
grant all privileges on *.* to 'root'@'%' identified by '你的密码';
第一个*是数据库,可以改成允许访问的数据库名称
第二个*是数据库的表名称,代表允许访问任意的表
root代表远程登录使用的用户名,可以自定义
%代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了。
但是此时报错了,是由于我们刚才加的跳过认证的代码所导致的。(其实应该是因为没有用alter更新密码导致的)
此时我们需要将刚才跳过权限的代码删除掉。
vim /etc/my.cnf
接下来为vim操作
键盘上按下 i 进入insert 模式
然后将刚才的代码删除掉。
接下来在英文状态下按下 esc 键,
并键入以下指令:
:wq
需要使用 alter user进行修改密码方可进行下一步。(需要满足复杂度要求)。(如果第五步是使用这个命令修改的密码,就不会出现刚刚的错误了)。
此时重启mysql服务。
然后再次执行刚刚的命令进行远程授权
grant all privileges on *.* to 'root'@'%' identified by '你的密码';
我们发现操作成功。
刷新权限使得修改生效
flush privileges;
接下来重启服务
远程登陆测试
成功!如果没成功,可能的原因有端口、数据库服务运行状态、防火墙等。