如何在MySQL中连接和创建数据库?

我想安装MySQL并使用以下代码在其上创建数据库:

sudo apt-get install mysql-server mysqladmin -h localhost -u {username} -p create lrs 

执行第二行后,我收到以下消息:

  Enter password: mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user '{username}'@'localhost' (using password: YES)' 

问题是什么?

安装MySQL后,需要设置mysql root密码 。 为此:

  1. 在终端中输入下一个命令:

    mysql -u root

  2. 现在它应该打开mysql控制台。 并键入以下行:

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');

要退出mysql控制台,请输入exit

现在,您应该使用root用户创建数据库 。 为此:

  1. 从终端打开mysql

    mysql -u root -p

  2. 输入之前创建的密码。

  3. 输入以下行:

    CREATE DATABASE yourdatabasename;

如果你输入SHOW DATABASES; 你应该在列表中看到它。 如果是这样,您就可以使用数据库了!

您需要使用root用户和相关密码连接到MySQL。 如果需要设置它们,请使用以下命令: sudo mysqladmin -u root -h localhost password 'mypassword'

从那里,您可以按照以下文档配置其他帐户: 如何在MySQL中创建新用户和授予权限

这很奇怪,因为从12.04开始(猜测你正在运行Kubuntu 12.04),MySQL已经默认了。 看起来你错过了几个步骤,所以让我们看看这个:

首先,如你所说,让我们做一个安装,

 sudo apt-get install mysql-server 

安装后,让我们尝试一下测试,

 sudo netstat -tap | grep mysql 

当你运行它时,你会看到这个回复,

 tcp 0 0 localhost:mysql *:* LISTEN 2556/mysqld 

如果运行不正常,请运行此restart命令,

 sudo service mysql restart 

现在配置服务器。

我们去/etc/mysql/my.cnf配置基本设置。 这包括日志文件,端口号等。例如,要配置MySQL以侦听来自网络主机的连接,请将bind-address指令更改为服务器的IP地址:

 bind-address = 192.168.0.5 

在此之后,重启MySQL守护进程,

 sudo service mysql restart 

如果要更改MySQL root密码,请运行以下命令:

 sudo dpkg-reconfigure mysql-server-5.5 

守护程序将被停止,系统将提示您输入新密码。

完成后,您应该进行配置,一些谷歌搜索将教您如何创建数据库

来源: Ubuntu服务器指南

运行此命令:

 sudo dpkg-reconfigure mysql-server-5.5 

(5.5是版本号,如果你有不同的版本,请调整)

这将允许您设置MySQL root密码,然后您可以使用mysqladminmysql命令。

安装MySQL后,需要设置mysql root密码。 为此:

 Enter the next command in a terminal: mysql -u root -p Enter Password: (Enter your password here). 

我知道这已经3年了,但我也遇到了这个问题,想要发布我的答案,以防其他人做同样的搜索。

mysqladmin: connect to server at 'localhost' failed

这表示您的用户在登录之前无权连接到数据库本身; 不是数据库用户,你的实际linux用户。 以超级用户身份运行一切:sudo mysql -u root -p

只有root(linux用户或具有sudo权限的用户)才能以root用户身份登录mysql(数据库用户)。 我无法找到记录这一点的任何地方,但实validation明情况确实如此。 您可以创建一个新用户,该用户具有与root用户相同的所有权限,并且不受限制。

 sudo mysql -u root SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword'); CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost'; FLUSH PRIVILEGES; 

现在,“newuser”(或您选择的任何名称)可以在不需要sudo的情况下登录,您可以将其用于满足所有数据库管理需求。