如何在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密码 。 为此:
-
在终端中输入下一个命令:
mysql -u root
-
现在它应该打开mysql控制台。 并键入以下行:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
要退出mysql控制台,请输入exit
。
现在,您应该使用root用户创建数据库 。 为此:
-
从终端打开mysql :
mysql -u root -p
-
输入之前创建的密码。
-
输入以下行:
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密码,然后您可以使用mysqladmin
和mysql
命令。
安装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的情况下登录,您可以将其用于满足所有数据库管理需求。