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;

相关推荐
oldking呐呐4 小时前
MySQL从建库到删库跑路 -- 4.表的操作
后端·mysql
qq_283720055 小时前
Python3 模块精讲:pymysql(第三方)- 连接 MySQL
mysql·adb·pymysql
czlczl200209255 小时前
MySQL 性能优化:前缀索引(Prefix Index)深度解析
数据库·mysql·性能优化
y = xⁿ6 小时前
MySQL八股知识合集
android·mysql·adb
计算机安禾7 小时前
【Linux从入门到精通】第33篇:数据库MySQL/MariaDB安装与基础调优
linux·数据库·mysql
tang&7 小时前
【MySQL】索引创建与B+树原理:MySQL性能优化的核心一课
b树·mysql·性能优化
sitellla8 小时前
MySQL 入门:最流行的开源关系型数据库介绍
数据库·mysql·其他·开源
2301_808414388 小时前
MySQL表的约束
数据库·mysql
小碗羊肉9 小时前
【MySQL | 第五篇】事务
数据库·mysql
@小柯555m9 小时前
MySql(高级操作符--高级操作符练习(1))
数据库·sql·mysql