我在Ubuntu 12.04 LTS(Precise Pangolin)上安装了LAMP,然后在phpMyAdmin上设置root密码.我忘记了密码,现在我无法登录.当我尝试通过终端更改密码时,我得到:
ERROR 2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2)
我怎样才能解决这个问题?我无法打开LAMP,卸载它或重新安装它.
我在使用Python的MySQLdb库连接到我的本地MySQL数据库时遇到问题.该脚本以前运行良好,但我偶尔会在标题中得到MySQL错误.似乎没有解释何时发生错误,并且脚本始终从具有相同参数的同一台机器运行.
MySQL服务器使用端口3306(本地托管的phpMyAdmin工作)在Windows XP SP3上作为服务运行,并且脚本从Oracle VM VirtualBox中的Ubuntu 10.04客户机操作系统运行.
我目前正在解决这个问题,打开命令提示符并执行'net stop MySQL'然后'net start MySQL'.这允许我再次运行脚本几次,然后导致错误,我一直在通过重新启动MySQL服务来修复.
由于我仍在对脚本进行更改,因此有时脚本会引发异常并且不会正常退出,但我会捕获异常并关闭游标和连接.
连接数据库的代码:
def __init__(self):
try:
print "Connecting to the MySQL database..."
self.conn = MySQLdb.connect( host = "192.168.56.1",
user = "guestos",
passwd = "guestpw",
db = "testdb")
self.cursor = self.conn.cursor(MySQLdb.cursors.DictCursor)
print "MySQL Connection OK"
except MySQLdb.Error, e:
print "MySQLdb error %d: %s" % (e.args[0],e.args[1])
raise
Run Code Online (Sandbox Code Playgroud)
发生这种情况时产生的完整错误如下:
MySQLdb error 2013: Lost connection to MySQL server at 'reading initial communication packet', system error: 0
Traceback (most recent call last):
File "search.py", …Run Code Online (Sandbox Code Playgroud) 我想更改mysql图像docker的默认公开端口,但如果我尝试使用此命令
docker run --detach --name=test-mysql -p 52000:52000 --env="MYSQL_ROOT_PASSWORD=mypassword" mysql
Run Code Online (Sandbox Code Playgroud)
不工作,mysql -uroot -pmypassword -h 127.0.0.1 -P 52000警告:在命令行界面上使用密码可能不安全.ERROR 2013(HY000):在"读取初始通信数据包"时丢失与MySQL服务器的连接,系统错误:0
如果我使用标准端口3306:3306工作正常,但我想改变端口,它可能吗?
我已经尝试过-p 52000:3600,但我总是:
mysql -uroot -pmypassword -h 127.0.0.1 -P 52000警告:在命令行界面上使用密码可能不安全.ERROR 2013(HY000):在"读取初始通信数据包"时丢失与MySQL服务器的连接,系统错误:0
我希望能够连接到我的 docker 容器,就像 MySQL 服务器安装在我的本地计算机上一样。我测试我的连接:
mysql -u root -proot -h 127.0.0.1 -P 3306 --protocol=tcp
Run Code Online (Sandbox Code Playgroud)
如果我使用docker创建一个容器,我可以成功地做到这一点。像这样:
docker run --name some-mysql-standalone -p 127.0.0.1:3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.29
Run Code Online (Sandbox Code Playgroud)
如果我在 docker-compose 中使用容器作为服务,则会收到错误:
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 2
Run Code Online (Sandbox Code Playgroud)
MySQL 服务器正在容器内运行,我可以访问它。
我的 docker 撰写片段:
version: '2'
services:
mysql:
image: mysql:5.7.29
container_name: some_mysql
restart: unless-stopped
volumes:
- ./mysql/data:/var/lib/mysql
- ./mysql/init:/docker-entrypoint-initdb.d
ports:
- 3306:3306
environment:
MYSQL_DATABASE: some_mysql
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_PASSWORD: root
Run Code Online (Sandbox Code Playgroud)
有趣的是,我已经使用它docker-compose.yml有一段时间了,没有任何问题。我不太确定我的环境发生了什么变化导致它停止工作。
如何使 …
我需要从主机"B"连接到主机"A"上的数据库.
我已经读过如何做到这一点,但我找不到正确的方法.所以我写了这个:
$servername = "118.140.84.78"; //host"A" ip
$username = "lpq";
$password = "*****";
$dbname = "cc";
$cc = new PDO("mysql:host=$servername;dbname=$dbname", "$username", "$password");
$cc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Run Code Online (Sandbox Code Playgroud)
但是当我尝试连接时,我收到了这个错误:
捕获异常:SQLSTATE [HY000] [2013]在"读取初始通信数据包"时丢失与MySQL服务器的连接,系统错误:0
我的数据库的权限如下所示:
ip有主机"B"的ip
任何的想法?
我想通过Python在我的本地机器和MySQL数据库服务器之间建立连接.
有人能告诉我如何"绑定地址与localhost"?