这里很简单的问题。我只想在我的Kali linux版本上使用SQL数据库,这样我就可以练习SQL。
我打开命令行并输入尝试启动mysql并收到错误。
> mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
我还确保它已经使用apt-get安装。
我需要采取哪些步骤才能创建包含我可以查询的表和数据的数据库?
答案 0 :(得分:3)
我不知道Kali,但在Ubuntu上它将是
$ sudo service mysql start
该命令返回后,mysqld
服务已启动,因此您可以使用mysql
客户端连接到该服务。
当然,您还必须确保安装了mysql-server
软件包,而不仅仅是mysql-client
和mysql-common
,并且您已初始化了数据库实例。完整的安装后说明可以在the official documentation中找到,但简短版本是
mysql
用户帐户。这是一旦启动就“拥有”服务器进程的帐户。/var/lib/mysql
;您可以通过编辑my.cnf
来更改此设置。)以root用户身份执行带有--initialize
开关的服务器守护程序。检查whereis
以确定正确的路径,然后
$ sudo /path/to/mysqld --initialize --user=mysql
此命令会旋转一段时间,然后显示自动生成的密码并退出。命令返回后,数据库实例已初始化并创建了系统表。您现在可以正常启动数据库实例(使用service start
),然后以 数据库 用户 root
登录(使用上面的密码,不与 系统 用户 root
相同),然后更改密码,创建新的数据库用户,以 用户身份登录,创建用户数据库,然后开始创建表。
同样,the official documentation是寻找这个的地方;如果the official documentation中的任何说明与我的说明不同,您应该忽略我并按照the official documentation的说明操作。
答案 1 :(得分:1)
如果sudo service mysql start
不适合您,请尝试运行mysqld_safe
并且不要终止此过程。使用另一个选项卡检查mysql服务的状态。这应解决您的mysqld.sock
问题。
如果无效,请编辑my.cnf文件并添加以下内容:
socket=/var/lib/mysql/mysql.sock
和权限,
sudo chmod -R 755 /var/lib/mysql/
希望这应该做到。