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;

相关推荐
秃头摸鱼侠13 分钟前
MySQL查询语句(续)
数据库·mysql
睡觉待开机21 分钟前
6. MySQL基本查询
数据库·mysql
weixin_470880262 小时前
MySQL体系架构解析(二):MySQL目录与启动配置全解析
数据库·mysql·面试·mysql体系架构·mysql bin目录
英英_3 小时前
MySQL 日志数据同步的详细教程
数据库·mysql
Paddy哥3 小时前
linux 安装mysql8.0;支持国产麒麟,统信uos系统
linux·mysql·麒麟·统信uos·统信
朝九晚五ฺ5 小时前
【MySQL基础】数据库的备份与还原
数据库·mysql·oracle
emo了小猫8 小时前
Mybatis #{} 和 ${}区别,使用场景,LIKE模糊查询避免SQL注入
数据库·sql·mysql·mybatis
天天摸鱼的java工程师17 小时前
高考放榜夜,系统别崩!聊聊查分系统怎么设计,三张表足以?
java·后端·mysql
exe45218 小时前
jdbc查询mysql数据库时,出现id顺序错误的情况
数据库·mysql
Johny_Zhao19 小时前
阿里云数据库Inventory Hint技术分析
linux·mysql·信息安全·云计算·系统运维