在使用mysqld_safe启动mysql server 5.7.17时,会出现以下错误:occcours.
2017-02-10T17:05:44.870970Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-10T17:05:44.872874Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2017-02-10T17:05:44.874547Z mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists.
Run Code Online (Sandbox Code Playgroud)
怎么解决?
Mat*_*ark 421
这个目录在安装时没有创建似乎很奇怪 - 您是否手动更改了my.cfg中套接字文件的路径?
您是否尝试过自己创建此目录,然后重新启动该服务?
mkdir -p /var/run/mysqld
chown mysql:mysql /var/run/mysqld
Run Code Online (Sandbox Code Playgroud)
Par*_*Sen 54
当我使用代码mysqld_safe --skip-grant-tables &但我收到错误:
mysqld_safe UNIX套接字文件的目录'/ var/run/mysqld'不存在.
$ systemctl stop mysql.service
$ ps -eaf|grep mysql
$ mysqld_safe --skip-grant-tables &
Run Code Online (Sandbox Code Playgroud)
我解决了:
$ mkdir -p /var/run/mysqld
$ chown mysql:mysql /var/run/mysqld
Run Code Online (Sandbox Code Playgroud)
现在我使用相同的代码mysqld_safe --skip-grant-tables &并得到
mysqld_safe使用/ var/lib/mysql中的数据库启动mysqld守护程序
如果我使用$ mysql -u root我会得到:
服务器版本:5.7.18-0ubuntu0.16.04.1(Ubuntu)
版权所有(c)2000,2017,Oracle和/或其附属公司.版权所有.
Oracle是Oracle Corporation和/或其附属公司的注册商标.其他名称可能是其各自所有者的商标.
输入'help;' 或'\ h'寻求帮助.输入'\ c'清除当前输入语句.
MySQL的>
现在是时候更改密码了:
mysql> use mysql
mysql> describe user;
Run Code Online (Sandbox Code Playgroud)
读取表信息以完成表名和列名您可以关闭此功能以使用-A更快地启动
数据库已更改
mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('newpwd');
Run Code Online (Sandbox Code Playgroud)
或者如果你有一个可以从任何地方连接的mysql root帐户,你还应该这样做:
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
Run Code Online (Sandbox Code Playgroud)
替代方法:
USE mysql
UPDATE user SET Password = PASSWORD('newpwd')
WHERE Host = 'localhost' AND User = 'root';
Run Code Online (Sandbox Code Playgroud)
如果您有一个可以从任何地方访问的root帐户:
USE mysql
UPDATE user SET Password = PASSWORD('newpwd')
WHERE Host = '%' AND User = 'root';`enter code here
Run Code Online (Sandbox Code Playgroud)
现在需要quit从mysql和停止/启动
FLUSH PRIVILEGES;
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
Run Code Online (Sandbox Code Playgroud)
现在再次`mysql -u root -p'并使用新密码来获取
MySQL的>
在CentOS中为我工作:
$ service mysql stop
$ mysqld --skip-grant-tables &
$ mysql -u root mysql
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
$ service mysql restart
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
149459 次 |
| 最近记录: |