“无法在 Openvz VPS 上为 MySQL“root”用户设置密码

Dav*_*vid 5 server mysql vps

我正在尝试在运行 Ubuntu 13.04 64 位的基于 Openvz 的 VPS 上安装 mysql 服务器,但我在安装时不断收到此错误。我尝试了多次,我也重新安装了操作系统,根本没有任何变化。如果我在收到错误 2002 后尝试设置 root 用户,如下所示..

我试图用谷歌搜索这个问题,但我没有找到类似的东西,你能帮我吗?

预先感谢

root@server1:~# apt-get install mysql-server mysql-common mysql-client          Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libdbd-mysql-perl libmysqlclient18 mysql-client-5.5 mysql-server-5.5
Suggested packages:
  tinyca mailx
The following NEW packages will be installed:
  libdbd-mysql-perl libmysqlclient18 mysql-client mysql-client-5.5
  mysql-common mysql-server mysql-server-5.5
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/18.0 MB of archives.
After this operation, 66.9 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Preconfiguring packages ...
 Package configuration
 ??????????????????????????????????????????????????????????????????????????????



???????????????????????Configuring mysql-server-5.5??????????????????????????
? While not mandatory, it is highly recommended that you set a password     ?
? for the MySQL administrative "root" user.                                 ?
?                                                                           ?
? If this field is left blank, the password will not be changed.            ?
?                                                                           ?
? New password for the MySQL "root" user:                                   ?
? ????????????????????????????????????????????????????????????????????????? ?
? ?                                                                       ? ?
?????????????????????????????????????????????????????????????????????????????
?                                 <  OK  >                                  ?
?????????????????????????????????????????????????????????????????????????????







 Package configuration
 ??????????????????????????????????????????????????????????????????????????????





              ?????????Configuring mysql-server-5.5????????????
              ?                                               ?
              ?                                               ?
              ? Repeat password for the MySQL "root" user:    ?
              ? ????????????????????????????????????????????? ?
              ? ?                                           ? ?
              ?????????????????????????????????????????????????
              ?                   <  OK  >                    ?
              ?????????????????????????????????????????????????







Selecting previously unselected package mysql-common.
(Reading database ... 41054 files and directories currently installed.)
Unpacking mysql-common (from .../mysql-common_5.5.32-0ubuntu0.13.04.1_all.deb) ...
Selecting previously unselected package libmysqlclient18:amd64.
Unpacking libmysqlclient18:amd64 (from .../libmysqlclient18_5.5.32-0ubuntu0.13.04.1_amd64.deb) ...
Selecting previously unselected package libdbd-mysql-perl.
Unpacking libdbd-mysql-perl (from .../libdbd-mysql-perl_4.021-1_amd64.deb) ...
Selecting previously unselected package mysql-client-5.5.
Unpacking mysql-client-5.5 (from .../mysql-client-5.5_5.5.32-0ubuntu0.13.04.1_amd64.deb) ...
Processing triggers for man-db ...
Setting up mysql-common (5.5.32-0ubuntu0.13.04.1) ...
Selecting previously unselected package mysql-server-5.5.
(Reading database ... 41140 files and directories currently installed.)
Unpacking mysql-server-5.5 (from .../mysql-server-5.5_5.5.32-0ubuntu0.13.04.1_amd64.deb) ...
Selecting previously unselected package mysql-client.
Unpacking mysql-client (from .../mysql-client_5.5.32-0ubuntu0.13.04.1_all.deb) ...
Selecting previously unselected package mysql-server.
Unpacking mysql-server (from .../mysql-server_5.5.32-0ubuntu0.13.04.1_all.deb) ...
Processing triggers for man-db ...
Setting up libmysqlclient18:amd64 (5.5.32-0ubuntu0.13.04.1) ...
Setting up libdbd-mysql-perl (4.021-1) ...
Setting up mysql-client-5.5 (5.5.32-0ubuntu0.13.04.1) ...
Setting up mysql-server-5.5 (5.5.32-0ubuntu0.13.04.1) ...
invoke-rc.d: policy-rc.d denied execution of stop.
 Package configuration
 ??????????????????????????????????????????????????????????????????????????????

????????????????????????Configuring mysql-server-5.5??????????????????????????
? Unable to set password for the MySQL "root" user                           ?
?                                                                            ?
? An error occurred while setting the password for the MySQL                 ?
? administrative user. This may have happened because the account already    ?
? has a password, or because of a communication problem with the MySQL       ?
? server.                                                                    ?
?                                                                            ?
? You should check the account's password after the package installation.    ?
?                                                                            ?
? Please read the /usr/share/doc/mysql-server-5.5/README.Debian file for     ?
? more information.                                                          ?
?                                                                            ?
?                                                                            ?
??????????????????????????????????????????????????????????????????????????????
?                                 <  OK  >                                   ?
??????????????????????????????????????????????????????????????????????????????



invoke-rc.d: policy-rc.d denied execution of start.
Setting up mysql-client (5.5.32-0ubuntu0.13.04.1) ...
Setting up mysql-server (5.5.32-0ubuntu0.13.04.1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
root@server1:~# sudo mysql_secure_installation




NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!


In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Enter current password for root (enter for none):
Run Code Online (Sandbox Code Playgroud)

Pro*_*ter 1

我遇到了完全相同的问题,结果证明是内存不足的问题。在主机上运行此脚本为我解决了这个问题:

#!/bin/bash    
cid=104
vzctl set ${cid} --vmguarpages 1024M --save
vzctl set ${cid} --oomguarpages 1024M --save
vzctl set ${cid} --privvmpages 1024M:1024M --save
Run Code Online (Sandbox Code Playgroud)

请随意将 1024 更改为您希望容器拥有的任何内存量。您还需要将 104 更改为容器的 ID。


Cub*_*biq 0

首先检查mysql服务器是否真的在滚动。以 root 身份运行:

service mysql restart
Run Code Online (Sandbox Code Playgroud)

如果没有发生错误,请继续阅读,否则重新安装 mysql 服务器apt-get install --reinstall mysql-server

接下来检查mysql配置文件/etc/mysql/my.cnf,查找以下参数:

user = mysql
...
bind-address = 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

如果需要,请更改它们并重新启动服务器,然后尝试使用以下其中一项进行连接:

mysql -u root
mysql -u root -p
mysql -u root -p -h localhost
mysql -u root -p -h 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

如果您仍然无法登录,请尝试更改/etc/apparmor.d/usr.sbin.mysqld如下:

搜索

/var/run/mysqld/mysqld.pid w,
/var/run/mysqld/mysqld.sock w,
Run Code Online (Sandbox Code Playgroud)

用。。。来代替

/{,var/}run/mysqld/mysqld.pid w,
/{,var/}run/mysqld/mysqld.sock w,
Run Code Online (Sandbox Code Playgroud)

重新启动 apparmor 服务并重service apparmor restart试连接到 mysql。如果仍然没有成功,请停止 mysql 服务器并在没有授权表的情况下重新运行它:

sudo service mysql stop
sudo mysqld --skip-grant-tables &
Run Code Online (Sandbox Code Playgroud)

现在您应该能够无需密码登录 mysql ( mysql -u root)。看看你的用户表上发生了什么:

select Host, User, Password from mysql.user;
Run Code Online (Sandbox Code Playgroud)

您应该有 4 个 root 用户,检查主机名是否正确并且都有密码。尝试使用新密码重置密码:

update mysql.user set Password=PASSWORD('YOUR-PASSWORD');
flush privileges;
exit;
Run Code Online (Sandbox Code Playgroud)

现在sudo killall mysqld并重sudo service mysql restart试使用新凭据进行连接。