ubuntu server20卸载安装mysql和实现远程登录

卸载

1.在终端查看mysql的依赖项

dpkg --list|grep mysql

在这里插入图片描述
2.卸载

sudo apt-get remove mysql-common
sudo apt-get autoremove --purge mysql-server-8.0
sudo apt-get autoremove --purge mysql-common

3.再查看一下依赖项,有的话都删了

dpkg --list|grep mysql

安装

1.运行下面四条命令

sudo apt-get update
sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev

2.测试是否安装成功

sudo netstat -tap | grep mysql

在这里插入图片描述
3.然后会发现mysql -u root -p进不去,因为还没有设置密码
ubuntu mysql 设置密码
4.然后就ok了
5.使用 apt-get 命令 安装后的 MySQL 的目录结构说明

  • /usr/bin :客户端程序和mysql_install_db
  • /var/lib/mysql :数据库和日志文件
  • /var/run/mysqld :服务器
  • /etc/mysql :配置文件my.cnf
  • /usr/share/mysql :字符集,基准程序和错误消息
  • /etc/init.d/mysql :启动mysql服务器

设置mysql远程登录(也可以不设,看你系需不需要)

1.编辑/etc/mysql/mysql.conf.d/mysqld.cnf文件

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

把下面的bind-address = 127.0.0.1改为0.0.0.0,表示允许所有主机都可访问此数据库(慎用,会有安全问题,可以修改防火墙规则设置需要访问的ip才可以访问)懒,这里就不说了
在这里插入图片描述
2,然后数据库重启一下,一定要重启!!!(后面发现直接注释掉bind-address = 127.0.0.1就可以了,不需要改成bind-address = 0.0.0.0,又傻逼了,但是一定要重启)

 service mysql restart

3.进入数据库

mysql> use mysql;
mysql> select user,host from user;

在这里插入图片描述
查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。

4.将localhost改为%,既允许所有host访问

 update user set host = '%' where user = 'root';

在这里插入图片描述
5.授权 root 用户的所有权限并设置远程访问,GRANT ALL ON 表示所有权限,% 表示通配所有 host,可以访问远程。

GRANT ALL ON *.* TO 'root'@'%';

在这里插入图片描述
6.刷新权限,退出数据库

flush privileges;
exit;

然后就ok了
在这里插入图片描述
ps:数据库真坑,linux真坑

mysql5.7设置远程登录

mysql > use mysql;

mysql > update user set host='%' where host='localhost' and user='root';
mysql > grant all privileges on *.* to 'root'@'localhost' identified by 'root';
mysql > flush privileges;
mysql > exit

版权声明:本文为FIQ_527原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。