如何预安装mariadb时使用mysql?

时间:2017-07-08 11:17:14

标签: mysql mysql-workbench mariadb

我的命令

mysql -u root -p -h localhost -P 3306

它会显示

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 38
Server version: 10.1.24-MariaDB-6 Debian 9.0

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

当我尝试从mysql工作台连接它时,它显示 enter image description here

1 个答案:

答案 0 :(得分:0)

由于您在Debian 9上使用MariaDB 10.1.24,很可能您已经从默认的Debian存储库(而不是MariaDB存储库)安装了它。 Debian提供的软件包使用unix_socket authentication作为本地root,这意味着您无法作为本地root连接到服务器,除非您是系统root(直接或通过sudo)。如果 是系统根目录,则不需要密码,将被忽略。

如果是这样,您的选择是:

  • 使用密码身份验证创建另一个超级用户,并配置workbench以使用它而不是root - 这是迄今为止最准确的方法,只要有可能使{{1}永远不要使用workbench;
  • 修改您的root以使用密码验证 - 这很容易做到,但它很可能会导致服务脚本,启动/关闭等问题,这些问题也需要更新,其中,转,会使升级更复杂;
  • 使用MariaDB提供的软件包而不是Debian提供的软件包,因为它们仍然使用root@localhost的密码验证。它可能会解决您当前的问题,但会使进一步的维护更加困难,而且从长远来看解决方案不是很可靠,因为MariaDB软件包最终也可以切换到root