如何连接到localhost上的MariaDB(MySQL)实例?

时间:2017-01-13 00:05:23

标签: mysql linux login connection mariadb

我正在使用MariaDB(而不是MySQL)安装FrontAccounting,仅供我个人使用,通过http://localhost/frontaccounts上的浏览器访问它。但尝试以root身份登录以设置数据库无法正常工作:无法连接到数据库。用户或密码无效...... 。尝试在phpMyAdmin,SQLbuddy,MySQL Workbench等中以root身份登录时会出现类似的错误消息。

(事实上,MySQL也会出现这个问题,所以你可以用以下的方式替换“MySQL' MariaDB'”。

我的问题是,我尝试以root从我的计算机的IP地址(root@MYCOMPUTER)(在互联网外部可见)登录到运行在&#上的服务器34;不同"需要root@localhost的IP地址(127.0.0.1,localhost) - 即使它是同一台计算机!

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我最终找到的以下答案将允许您在一个IP地址创建用户以访问另一个地址的MariaDB(MySQL)服务器,即使该地址为127.0.0.1localhost

在终端窗口中,键入:

$ sudo mysql -u root -p -h localhost

输入您的密码:

[sudo] password for YOURUSERNAME: 

键入MariaDB root密码,或按Enter键(默认空密码):

Enter password: 

MariaDB Monitor欢迎横幅出现......

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 39
Server version: 10.0.28-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

...并且monitor命令提示符等待您的输入(none表示您尚未连接到任何数据库):

MariaDB [(none)]> 

localhost创建MariaDB 接受的用户,然后退出:

MariaDB [(none)]> CREATE USER 'root'@'%';
     -> \q;
Bye
~$

这使您至少可以连接,并且是允许其他用户连接的模型。这些最小的指令会留下安全漏洞,因此,在MariaDB上创建用户后,给他们密码(不要忘记root),并授予权限和角色,这些漏洞将被关闭。

为了提高安全性,请指定用户计算机的IP地址,例如'root'@'localhost'代替'root'@'%'