Ubuntu安装MySql 8.x开启远程访问和强制修改密码

Ubuntu安装MySql 8.x

  • 先从官网下载相包源工具所对应的deb文件MySQL Community (GPL) Downloads
  • 上传至服务器
  • 执行命令安装apt config deb文件(这里我们以/root/mysql-apt-config_0.8.20-1_all.deb举例)
sudo dpkg /root/mysql-apt-config_0.8.20-1_all.deb
  • 安装MySql Community
sudo apt install -y mysql-server
  • 最后一步的时候一般会让用户输入密码,输入一个自己能记住的密码就行.
  • 等待安装完成就OK了.

配置MySql 远程登录

  • 登录数据库
mysql -u root -p
  • 输入上边安装时的密码(若是密码提示错误或者无法登录.后边强制修改root密码中会讲到)
  • 进入mysql交互命令行后,执行如下命令开启远程访问.
use mysql;
select host, user, authentication_string, plugin from user; 
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;
  • 如上一系列操作后,应该就可以使用密码进行远程访问了.

强制修改root密码

  • 若是一开始就提示密码错误或者忘记了密码,可以尝试强制修改密码
  • 使用nano编辑器修改配置文件
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  • 在[mysqld]最后一行添加skip-grant-tables
  • 保存退出后重启MySql服务
sudo systemctl restart mysql
  • 等待重启完成后,即可免密登录到mysql交互命令行
mysql -u root -p
  • 若是提示输入密码,直接按Enter即可
  • 然后执行如下一系列操作
use mysql;
flush privileges;
UPDATE user SET authentication_string="" WHERE user='root';
flush privileges;
  • 上述操作清空了root密码,然后执行如下操作设置新密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
  • 若是已经成功开启远程访问,上述命令得调整为如下:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
  • 然后再次刷新权限并退出mysql交互命令行
flush privileges;
exit
  • 再次进如mysql配置文件注释掉免密登录配置(删除掉或者注释掉skip-grant-tables)
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  • 保存退出后重启MySql
sudo systemctl restart mysql
  • 使用远程计算机使用navicat登录验证是否可以正常登录即可
原文地址:https://www.cnblogs.com/dygood/p/15592737.html