ubuntu C++配置mysql连接出现的问题及解决思路

本文介绍了在Ubuntu上安装MySQL服务器,包括root用户密码设置、访问权限调整以及解决远程连接问题,如3306端口未开放和skip-grant-tables安全设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先是安装mysql server 时,root用户密码没有设置,需要先使用

sudo cat /etc/mysql/debian.cnf

然后使用该用户名和密码进入MySQL

mysql -u debian-sys-maint -p

# 用户:debian-sys-maint
# 密码:7F6TVXxve2hh4EHI

更改密码,见下博客。

ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘解决方法_error 1698 (28000): access denied for user 'root'@__leoatliang的博客-CSDN博客

Ubuntu 安装和使用MySQL_ubuntu mysql-CSDN博客

Ubuntu安装mysql数据库-CSDN博客

登录Ubuntu虚拟机,打开终端,输入命令安装mysql服务端
apt -get install mysql-server
  • 1
输入命令安装mysql客户端,命令如下:
sudo apt-get install mysql-client
  • 1
安装libmysqlclient,这个在使用开发工具连接数据库使用会用到,命令如下:
sudo apt-get install libmysqlclient-dev

其次就算mysql,服务远程连接的时候端口没有开放

Linux下mysql服务存在,但是3306端口监听不存在,远程连接不上-CSDN博客

一开始修改mysql的配置文件,让mysql免密码登陆,

 在mysql配置文件最后一行添加:skip-grant-tables  //就是这个

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

导致

mysql> show variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 0     |
+---------------+-------+
1 row in set (0.00 sec

mysql的端口一直为0,只接受本地连接,不接受tcp/ip的连接,

查看skip-networking参数,这个参数为on,

查看文件中是否有skip-networking和skip-grant-tables,有的话把这两条注释掉或删掉。

补充:之所以skip-grant-tables也要关闭,是因为skip-grant-tables的开启会导致skip-networking也会开启,可以这么理解:skip-grant-tables开启时,即使用户和密码随便输入也能连接mysql,因此很不安全,而skip-networking开启时mysql不能远程连接,因此起到一个保护数据库的作用
腾讯云服务器Linux(CentOS7)Mysql8远程连接失败,port端口为0,_centos7 mysql8mysql 启动了 但是查不到端口号_疯狂的头发的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值