![数据库连接错误](https://linux22.com/image/1008684/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5%E9%94%99%E8%AF%AF.png)
我从未使用过 Ubuntu,现在我安装了 Ubuntu 18.04,但在连接数据库时遇到了问题。
我不太熟悉服务器的工作和类似的东西,所以有人能告诉我问题是什么以及如何解决它吗?
答案1
检查你的 mysql 服务器是否正在运行,如果没有,请启用它。从终端,
$ sudo systemctl enable mysql
Synchronizing state of mysql.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mysql
$ sudo systemctl status mysql
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-06-25 10:23:56 PDT; 56min ago
Main PID: 1364 (mysqld)
Tasks: 28 (limit: 4915)
CGroup: /system.slice/mysql.service
└─1364 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
检查它是否监听端口 3306。
$ sudo netstat -plunt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1364/mysqld
如果没有,你必须修改/etc/mysql/mysql.conf.d/mysqld.cnf
检查您是否具有 root 访问权限,在提示时输入密码。
$ mysql -u root -p
如果你没有 root 权限或需要重置 root 密码,请按照以下步骤操作这里。基本上说最简单的方法是执行以下操作并选择一个新的 root 密码。
$ sudo mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
现在,如果您只是想连接到远程数据库,请在创建 mysql 连接时指定主机和端口以及登录用户/密码。
如果你遇到密码验证问题,你可以考虑移动validate_password插件
$ mysql -h localhost -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.22-0ubuntu18.04.1 (Ubuntu)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> uninstall plugin validate_password;