mysql 如何在用户下建表,在数据库实例中可以建表,但是我在自己建的用户下却看不到。我以前使用oracle。
mysql可能和oracle不一样是吗?oracle是在用户下建表,但是mysql我没有建用户只要进入到实例下就可以建表,但是在用户下却看不到,我试着建立了一个用户,权限...
mysql可能和oracle不一样是吗?oracle是在用户下建表,但是mysql我没有建用户只要进入到实例下就可以建表,但是在用户下却看不到,我试着建立了一个用户,权限是all,然后我用这个用户在mysql-query-browser下登陆,登陆进去了,但是在实例上建表的时候提示我不可以建表,我迷茫了,还有如何在mysql command line client下切换用户,请各位大侠指点,我用的是windows系统不是linux谢谢了。
展开
2个回答
展开全部
MySQL 的 体系结构 与 Oracle 不一样
Oracle , 是一个 数据库, 一套 服务。 不同的用户, 有 不同的 方案。
也就是 假如你的数据库 有 2个 用户 A, B 他们都创建了一个 test 表
那么
可以通过 SELECT * FROM A.test 和 SELECT * FROM B.test 来 访问这 些表。
MySQL , 是 一套 服务下面, 可以创建多个数据库。
MySQL 下面, 通过
CREATE DATABASE 数据库名;
来创建数据库
并使用
USE 数据库名;
来在不同的数据库之间切换。
但是 用户 和 数据库 不直接关联。
也就是你的 MySQL 服务里面, 可以有 2个 数据库 A, B。 下面都有 test 表。
那么
可以通过 SELECT * FROM A.test 和 SELECT * FROM B.test 来 访问这 些表。
假如 登陆进去了,但是在实例上建表的时候提示我不可以建表
有可能是 你还没有 选择数据库
或者是 你没有权限。
Oracle , 是一个 数据库, 一套 服务。 不同的用户, 有 不同的 方案。
也就是 假如你的数据库 有 2个 用户 A, B 他们都创建了一个 test 表
那么
可以通过 SELECT * FROM A.test 和 SELECT * FROM B.test 来 访问这 些表。
MySQL , 是 一套 服务下面, 可以创建多个数据库。
MySQL 下面, 通过
CREATE DATABASE 数据库名;
来创建数据库
并使用
USE 数据库名;
来在不同的数据库之间切换。
但是 用户 和 数据库 不直接关联。
也就是你的 MySQL 服务里面, 可以有 2个 数据库 A, B。 下面都有 test 表。
那么
可以通过 SELECT * FROM A.test 和 SELECT * FROM B.test 来 访问这 些表。
假如 登陆进去了,但是在实例上建表的时候提示我不可以建表
有可能是 你还没有 选择数据库
或者是 你没有权限。
更多追问追答
追问
但是我建立的表在新建用户下看不到可怎么办啊,我想要用java连接mysql,用户看不见表什么也干不了啊,求您给个答案吧,郁闷死我了。在这个用户下我也建不了表的,我的权限已经给了all了。
追答
因为 MySQL 里面的 用户, 会有一个 机器名的选择。
下面是例子
-- 这个用户, 是通过 本机登录的
mysql> CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'testpassword';
Query OK, 0 rows affected (0.00 sec)
-- 这个用户,是通过其它 机器登录的
mysql> CREATE USER 'test_user'@'%' IDENTIFIED BY 'testpassword';
Query OK, 0 rows affected (0.00 sec)
授权的语句
mysql> GRANT ALL PRIVILEGES ON *.* TO 'test_user'@'localhost'
-> IDENTIFIED BY 'testpassword' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'test_user'@'%';
Query OK, 0 rows affected (0.00 sec)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询