I am trying to grant all privileges to a user for a new database I have created.
The command I run is as follows:
GRANT ALL PRIVILEGES ON 'dbname'.* TO 'user'#'localhost' IDENTIFIED BY 'password';
However, mySQL returns an error:
ERROR 1114 (HY000): The table 'db' is full
I am puzzled as I faced no such error previously when granting user access to other databases.
I have enough disk space and my setup for the innodb_data_file_path is as follows:
innodb_data_file_path=ibdata1:10M:autoextend
What am I missing here and how should I fix this error?
Related
I have a MySQL database running on AWS Lightsail. I'm trying to import data into MySQL using MySQL Workbench, but see following error:
ERROR 1227 (42000) at line 20: Access denied; you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation
Upon trying to grant access to dbmasteruser using following command:
UPDATE mysql.user SET Super_Priv='Y' WHERE user='dbmasteruser' AND host='%';
I see following error:
ERROR 1054 (42S22): Unknown column 'ERROR (RDS): SUPER PRIVILEGE CANNOT BE GRANTED OR MAINTAINED' in 'field list'
Using following command:
mysql> GRANT SUPER ON *.* TO dbmasteruser#'%';
I see following error:
ERROR 1045 (28000): Access denied for user 'dbmasteruser'#'%' (using password: YES)
I seems I stuck in a loop: I cannot import data and dbmasteruser doesn't have privileges neither to import nor to grant certain privileges to import.
I also see rdsadmin user with DBA privileges, but no idea where to get password in Lightsail for this user.
I had the same issue: I exported an existing database with MySql Workbench (this was an older MySQL version) and tried to import it into my AWS Lightsail Database - wich didn't work.
The reason were some operations in the mysql dump, which are not allowed for the Lightsail user. I just commented out the mentioned lines and the import worked as expected (in your case it's line 20).
For me I needed to comment out the following statements:
-- All lines that begin with
SET ##SESSION.SQL_LOG_BIN...
SET ##GLOBAL.GTID_PURGED...
I need for my users to create databases that only they can select,add,drop tables to.
I saw this Post which is exactly what I need but when I run command as
GRANT ALL PRIVILEGES ON `testuser\_%` . * TO 'testuser'#'LOCALHOST';
I get error
ERROR 1141 (42000): There is no such grant defined for user 'testuser' on host 'localhost'
I googled error and tried Flush Privileges but still get error. Any suggestions welcomed. I am running Ubuntu 16.4 w/mysql 5.7.32-0ubuntu0.16.04.1. Thanks.
I have been trying to connect a REST api to a mysql db. I can do this over localhost but when I try to give access to a host IP I get an error about permission denied. After researching things it seems the solution to this is create a new user and grant access to localhost and the IP like so in the mysql shell... (There should only be one * before the . Stack wouldn't let me pot it correctly)
CREATE USER ‘Name’#’localhost’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON **.* TO ‘Name’#’localhost’ WITH GRANT OPTION;
CREATE USER ‘Name’#’IP’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON **.* TO ‘vScopeUserName’#’IP’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
When I enter the first command I get this error:
ERROR 1146 (42S02): Table 'mysql.role_edges' doesn't exist
I can't find much info on this, if anyone knows anything or has suggestions it is much appreciated. Also I'm using Node.js on Ubuntu 18.04
I'm using Mysql 5.5. I logged in mysql by root and created a new user.
Then I logged in using
mysql -u newuser -p
Then in mysql I entered
GRANT ALL PRIVILEGES ON db1.tablename TO 'newuser'#'localhost';
in order to access to the databases.
But there is an error message:
ERROR 1142 (42000): SELECT,INSERT,UP command denied to user 'newuser'#'localhost' for table 'tablename'
I even tried other commands such as GRANT CREATE or GRANT DROP, the same error keep showing.
ERROR 1142 (42000): CREATE,GRANT command denied to user 'newuser'#'localhost' for table 'tablename'
Can someone please help?
You logged into MySQL as root and created the new user, but you need to grant the permissions to the new user as well while logged in as root. Then you'll be able to login as newuser and execute statements.
I'm trying to create a database on my remote sql server - clearDB - on Heroku. I connected with this:
mysql --host='<<cleardbhostname>>' --user='<<lsdj234>> --password
My username and password are obtained from the result from running heroku config. When I tried to run
CREATE DATABASE mydb;
I got this:
ERROR 1044 (42000): Access denied for user '<<lsdj234>>'#'%' to database 'mydb'
When I ran SHOW GRANTS for current_user I got:
GRANT USAGE ON *.* TO '<<lsdj234>>'#'%' IDENTIFIED BY PASSWORD '*asfe4545235' WITH MAX_QUERIES_PER_HOUR 3600 MAX_USER_CONNECTIONS 10 |
| GRANT ALL PRIVILEGES ON `heroku_ljl4455lkj`.* TO '<<lsdj234>>'#'%'
What is happening? How do I resolve this?
The only database that your user can access (and even create) is heroku_ljl4455lkj
It can't create any other databases.