MySQL操作问题汇总

MySQL操作问题汇总


1.无法远程连接Ubuntu的MySQL

(1) 需要检查防火墙状态

> sudo ufw status

#如果防火墙开启的情况,添加规则:允许3306端口开启

> sudo ufw allow 3306

(2) 需要检查mysql的运行状态

> sudo systemctl status mysql

#或者

> sudo service mysql status

(3) MySQL默认只允许本地连接:localhost,需要检查

> sudo netstat -plnt | grep mysql
0.0.0.0:表示监听所有网段
127.0.0.1:表示监听localhost


提示:MySQL默认只允许本地连接:localhost

解决:

#1.修改配置文件

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

> cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.bak

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

> #bind-address = 127.0.0.1 注释此行

> #或者 添加:

> bind-address = 0.0.0.0

#2.重启mysql

> sudo systemctl restart mysql

(4) 需要检查mysql的root用户的远程连接权限
提示:mysql的root用户默认只有localhost的连接权限

#root用户登录

> mysql -u root -p

#登录成功后查看mysql.user表的相干记录,如下图所示,可以发现当前root用户属于默认情况

> use mysql

> select user,host from mysql.user;
localhost:表示该用户只具备localhost的连接权限
%:表示该用户只具备任何远程主机的连接权限

解决:

#创建支持远程主机连接的root用户

> create user 'root'@'%' identified by '123456';

#授权此root用户所有权限

> grant all privileges on *.* to 'root'@'%';

#刷新

> flush privileges;


2.ubuntu忘记mysql的root密码时的操作

(1) 查看mysql自带用户和密码

> sudo cat /etc/mysql/debian.cnf


(2) 使用自带用户debian-sys-maint登录

> sudo mysql -u debian-sys-maint -p

(3) 登录mysql后,修改mysql密码

> alter user 'root'@'localhost' identified by "123456";

#或者

> alter user 'root'@'localhost' identified with caching_sha2_password by '123456';

(4) 刷新权限

> flush privileges;

相关推荐
Cabbage_acmer3 小时前
MySQL期中考试突击!
数据库·mysql
chenzhou__5 小时前
MYSQL学习笔记(个人)(第十五天)
linux·数据库·笔记·学习·mysql
一只自律的鸡6 小时前
【MySQL】第二章 基本的SELECT语句
数据库·mysql
@yanyu66613 小时前
idea中配置tomcat
java·mysql·tomcat
hello_zzw17 小时前
docker部署MySQL主从服务集群
mysql·adb·docker
初见00120 小时前
Java MySQL 事务隔离级别深度剖析:从幻读到MVCC
mysql
nzxzn21 小时前
MYSQL第二次作业
数据库·mysql
冻咸鱼1 天前
MySQL的CRUD
数据库·mysql·oracle
初见0011 天前
Java MySQL 索引深度解析:从原理到最佳实践
mysql
冻咸鱼1 天前
MySQL中表操作
android·sql·mysql·oracle