我创建了数据库,例如'mydb'.
CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'myuser'@'%' IDENTIFIED BY PASSWORD '*HASH';
GRANT ALL ON mydb.* TO 'myuser'@'%';
GRANT ALL ON mydb TO 'myuser'@'%';
GRANT CREATE ON mydb TO 'myuser'@'%';
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
现在我可以从任何地方登录到数据库,但无法创建表.
如何授予该数据库和(将来)表的所有权限.我无法在'mydb'数据库中创建表.我总是得到:
CREATE TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin);
ERROR 1142 (42000): CREATE command denied to user 'myuser'@'...' for table 't'
Run Code Online (Sandbox Code Playgroud) 使用 sequel pro 我创建了一个名为test. 它有一张名为users. 在该表中有一个用户 -> id=1, name=Phantom。
当我运行下面的代码时,我得到The solution is: undefined.
谁能建议我如何连接到数据库并显示用户?
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost:8889',
user : 'root',
password : 'root',
database : 'test'
});
connection.connect();
connection.query('SELECT * from users', function(err, rows, fields) {
if (err) throw err;
console.log('The solution is: ', rows);
});
connection.end();
Run Code Online (Sandbox Code Playgroud)
它显示以下错误:
错误:在 Connection._handleConnectTimeout 连接 ETIMEDOUT (/Users/fitz035/Desktop/sony/presave/node_modules/mysql/lib/Connection.js:425:13)
我正在通过 MAMP 运行数据库。这些是数据库设置:
Host: localhost
Port: 8889
User: root …Run Code Online (Sandbox Code Playgroud)