信息化 频道

脱离企业战略 IT曲线救国也能成功

4 创建用户数据库

mysql> CREATE DATABASE MYTEST; Query OK, 1 row affected (0.00 sec)
如果想改变MYSQL数据文件的默认路径,我们可以关闭MYSQL实例,修改配置文件”my.cnf”或”my.ini”(WINDOWS系统)中的datadir对应的参数值,然后把MYSQL默认安装的datadir下的内容拷贝到新的数据文件路径下,启动MYSQL实例这样我们再次创建数据库的时候数据文件就放在新的路径下了。
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | mytest | | root | +--------------------+ 4 rows in set (0.01 sec) mysql> USE MYTEST; Database changed mysql> SELECT DATABASE(); +------------+ | DATABASE() | +------------+ | mytest | +------------+ 1 row in set (0.00 sec) mysql> SHOW TABLES; Empty set (0.01 sec)
5 创建数据库用户

可以用两种方式创建MySQL账户:

(1)直接操作MySQL授权表user(不推荐)
mysql>INSERT INTO mysql.user VALUES('localhost','zhouwf', PASSWORD ('zho uwf'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
(2)CREATE USER
mysql> create user test_cr identified by 'test_cr'; Query OK, 0 rows affected (0.23 sec)
(3)直接使用GRANT语句

我们可以不用第二步的CREATE语法来执行,而直接GRANT就可以创建用户。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'TEST'@'LOCALHOST' IDENTIFIED BY 'TEST' WITH GRANT OPTION; Query OK, 0 rows affected (0.06 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO 'TEST'@'%' IDENTIFIED BY 'TEST' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON MYSQL.* TO TEST_NORMAL@'LOCALHOST' IDENTIFIED BY 'TEST_NORMAL'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON MYSQL.* TO TEST_NORMAL@'%' IDENTIFIED BY 'TEST_NORMAL'; Query OK, 0 rows affected (0.02 sec) mysql> SELECT USER FROM MYSQL.USER; +-------------+ | USER | +-------------+ | TEST | | TEST_NORMAL | | root | | TEST | | TEST_NORMAL | | root | +-------------+ 6 rows in set (0.00 sec)
注意:其中两个账户有相同的用户名TEST和密码TEST。两个账户均为超级用户账户,具有完全的权限可以做任何事情。一个账户('TEST'@'localhost')只用于从本机连接时。另一个账户('TEST'@'%')可用于从其它主机连接。请注意TEST的两个账户必须能
从任何主机以TEST连接。没有localhost账户,当TEST从本机连接时,mysql_install_db创建的localhost的匿名用户账户将占先。

结果是,TEST将被视为匿名用户。原因是匿名用户账户的Host列值比'TEST'@'%'账户更具体,这样在user表排序顺序中排在前面。

注意:用户名和密码区分大小写。
mysql> SELECT DATABASE(); +------------+ | DATABASE() | +------------+ | mytest | +------------+ 1 row in set (0.00 sec) mysql> SELECT USER(); +----------------+ | USER() | +----------------+ | TEST@localhost | +----------------+ 1 row in set (0.00 sec)
0
相关文章