我在 Windows 7 主机上运行 Ubuntu 作为客户机。我使用 VMware Workstation 来运行客户机。
我在主机上安装了 MySQL。我想从我的 Ubuntu 客户机访问这个 MySQL 数据库。基本上,我正在尝试在我的 Ubuntu 客户机中使用 Django 开发一个示例应用程序,为此我需要 MySQL。我的互联网连接非常慢,所以我无法为 Ubuntu 下载 MySQL,而且我的主机操作系统上没有安装 python。
如何从 Ubuntu 客户机连接到 MySQL 数据库?
答案1
您需要查看表 mysql.user
通常您可以运行此查询来查看用户名、主机地址和 MD5 加密密码。
SELECT user,host,password FROM mysql.user;
示例 #1:让我们创建一个名为“myclient”的用户,该用户将从 IP 地址为“123.50.89.191”的 Ubuntu 服务器连接到 mysql,并且可以完全访问和操作数据库“mydata”中的所有内容。密码为“permission”;
GRANT ALL PRIVILEGES on mydata.*
TO 'myclient'@'123.50.89.191'
IDENTIFIED BY 'permission';
示例 #2:让我们创建一个名为“myreadclient”的用户,该用户将从 IP 地址为“123.50.89.191”的 Ubuntu 服务器连接到 mysql,并且只能在数据库“mydata”中插入和选择所有内容。密码为“readpermission”;
GRANT INSERT,SELECT on mydata.*
TO 'myreadclient'@'123.50.89.191'
IDENTIFIED BY 'readpermission';
有关如何创建具有特定权限的用户的更多信息,请点击此网址。
试一试 !!!
警告
设置 MD5 格式的密码总是比设置纯文本密码更好。
例子
mysql> SET @X=PASSWORD('permission');
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @X;
+-------------------------------------------+
| @X |
+-------------------------------------------+
| *1D6447E2F5B7AFD0E27D8E6CCA53099BE980803C |
+-------------------------------------------+
1 row in set (0.00 sec)
现在,像这样设置第一个例子的密码:
GRANT ALL PRIVILEGES on mydata.*
TO 'myclient'@'123.50.89.191'
IDENTIFIED BY PASSWORD @X;
这是使用 MD5 格式的第二个示例
mysql> SET @X=PASSWORD('readpermission');
Query OK, 0 rows affected (0.01 sec)
mysql> SELECT @X;
+-------------------------------------------+
| @X |
+-------------------------------------------+
| *22DA1CEDDBA3B75FD193775AC69D9184105F0BE0 |
+-------------------------------------------+
1 row in set (0.00 sec)
GRANT INSERT,SELECT on mydata.*
TO 'myreadclient'@'123.50.89.191'
IDENTIFIED BY PASSWORD @X;
这样做可以防止在二进制日志或记录 mysql 客户端会话的任何文件中记录纯文本密码。