我在 Linux 中安装了 MySQl-server。但我无法以普通用户(本地)身份使用它。我必须以 root 用户身份使用它。我尝试使用 进行修复$ sudo chown -R sura:sura /usr/bin/mysql
,但我仍然无法以普通用户身份使用 MySql。这是我$ mysql
在非 root 终端中输入时总是遇到的错误,
ERROR 1045 (28000): Access denied for user 'sura'@'localhost' (using password: NO)
要在非root终端中使用,我必须放置sudo
并跟随mysql
,这可以让我在无需root的情况下使用MySql。
您有什么方法可以解决此问题吗?还是我必须继续以 root 用户身份使用 MySql?
如果是的话,您能告诉我修复的方法吗?
答案1
从本教程您需要创建一个数据库和用户才能使用 mySQL。
要创建 MySQL 数据库和用户,请按照以下步骤操作
在命令行中,以root用户身份登录MySQL:
mysql -u root -p
输入 MySQL 根密码,然后按 Enter。
要创建数据库用户,请键入以下命令。将 替换username
为您要创建的用户,并将 password 替换为用户的密码:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';
此命令授予用户所有权限。但是,您可以授予特定权限以保持对数据库访问的精确控制。例如,要明确授予权限SELECT
,您可以使用以下命令:
GRANT SELECT ON *.* TO 'username'@'localhost';
有关设置 MySQL 数据库权限的更多信息,请访问MySQL - 13.7.1.6 GRANT 语句。
键入\q
退出mysql程序。
要以刚创建的用户身份登录 MySQL,请键入以下命令。替换username
为您上面创建的用户的名称:
mysql -u username -p
键入用户的密码,然后按 Enter。
要创建数据库,请键入以下命令。替换dbname
为您要创建的数据库的名称:
CREATE DATABASE dbname;
要使用新数据库,请键入以下命令。将其替换dbname
为您上面创建的数据库的名称:
USE dbname;
现在,您可以使用数据库了。例如,以下命令演示如何创建名为 example 的基本表,以及如何向其中插入一些数据:
CREATE TABLE example ( id smallint unsigned not null auto_increment, name varchar(20) not null, constraint pk_example primary key (id) );
INSERT INTO example ( id, name ) VALUES ( null, 'Sample data' );
在上面链接的教程中还可以找到更多内容,例如:
- 创建 SQL 脚本
- 删除表和数据库
- 查看所有用户列表
更多信息
要查看 MySQL 官方文档,请访问MySQL 8.0 参考手册。