在Ubuntu上先卸载已有MySQL5.7,然后再安装MySQL5.7,最后配置远程访问

9 篇文章 1 订阅

前言

最近翻新一些老项目,于是随便在某个Ubuntu虚拟机上安装个MySQL5.7数据库,结果安装了一天。因此记录一下,不然下次又得花不少时间来安装。

一、彻底删除Ubuntu上的MySQL

(1)删除MySQL数据文件

sudo rm /var/lib/mysql/ -R

(2)删除MySQL配置文件

sudo rm /etc/mysql/ -R

(3)查看MySQL的依赖项,有多少依赖项,就删除多少依赖项

dpkg --list|grep mysql

sudo apt-get remove mysql-common
sudo apt-get autoremove --purge mysql-server
sudo apt-get purge mysql-community-server
sudo apt-get autoremove --purge mysql-server-5.7
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor
sudo apt-get install apparmor

(4)查看是否还有MySQL相关文件,有则 rm -rf 这些文件

whereis mysql
which mysql

(5)最后执行以下命令都是空内容才为彻底删除了

dpkg --list|grep mysql
whereis mysql
which mysql

二、在Ubuntu上重装MySQL

(1)安装MySQL服务器和客户端(注意:安装过程会要求设置密码,输入两次,前后密码需保持一致,比如:123456Aa)

sudo apt-get install mysql-server mysql-common

(2)运行MySQL初始化安全脚本

sudo mysql_secure_installation

(3)查看MySQL状态

systemctl status mysql.service

(4)启动MySQL服务

systemctl start mysql.service

(5)重启MySQL服务(注意:重启后密码策略的长度和级别会更改为 MEDIUM 和 8)

systemctl restart mysql.service

(6)开启开机自启动MySQL服务

systemctl enable mysql.service

(7)关闭开机自启动MySQL服务

systemctl disable mysql.service

(8)关闭MySQL服务

systemctl stop mysql.service

(9)MySQL的配置文件

/etc/mysql/mysql.conf.d/mysqld.cnf

三、配置防火墙(若未安装防火墙,直接跳过)

(1)查看防火墙状态

firewall-cmd --state

(2)开启指定端口(–permanent表示永久生效,若无此参数,则只能维持当前服务生命周期内,重新启动后失效)

firewall-cmd --zone=public --add-port=3306/tcp --permanent

(3)重新加载防火墙

firewall-cmd --reload

(4)重启|停止|开启|永久关闭

systemctl restart|stop|start|disable firewalld.service

四、配置MySQL远程访问

(1)首先使用控制台进行登录

mysql -u root -p

(2)查看密码策略配置

SHOW VARIABLES LIKE 'validate_password%';

(3)设置密码策略级别为LOW

set global validate_password_policy=LOW;

(4)设置密码长度为8

set global validate_password_length=8;

(5)再次查看密码策略配置

SHOW VARIABLES LIKE 'validate_password%';

(6)修改 root 用户与 localhost 主机 对应的密码(注意:密码长度应与上面设置的长度一样)

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456Aa';

(7)授权 root 用户与 % 主机(%代表支持所有远程主机)通过密码,进行数据库点数据表操作(即:*.*)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456Aa' WITH GRANT OPTION;

(8)授权 root 用户与 x.x.x.x 主机通过密码,进行数据库点数据表操作(即:*.*)

GRANT ALL PRIVILEGES ON  *.* TO 'root'@'x.x.x.x' IDENTIFIED BY '123456Aa' WITH GRANT OPTION;

(9)更新授权

flush privileges;

(10)查看授权的记录列表

select User, Host from mysql.user;

(11)按照上述操作完成后,依然连接不成功,最后修改配置文件【/etc/mysql/mysql.conf.d/mysqld.cnf】,将【bind-address = 127.0.0.1】注释掉,然后重启MySQL服务【systemctl restart mysql.service】,再次使用 Navicat 测试连接,终于连接成功!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值