如何用MySQL-Front远程连接MySql

如何用MySQL-Front远程连接MySql,第1张

首先让我们看一下远端MYSQL的用户
mysql select host,user
- from user;
+---------------+------+| host| user |+---------------+------+
| localhost| root |+---------------+------+
5 rows in set (000 sec)
由此我们可以看到root用户仅允许本地(localhost)登录,如果要远程登录该mysql服务器的话,就需要新建一个普通权限的用户,新建用户使用如下命令:
mysql grant select,update,insert,delete on mas to duan@localhost identified by 123456;
现在该duan用户,已经可以登录mysql了,但是也还是只能本地登录。若要duan用户可以远程登录mysql,则还需要如下命令:
mysql update user set host = '%' where user = 'duan';
现在我们再查看mysql的管理库:
mysql select host,user
- from user;
+-----------+------+| host| user |+-----------+------+| %| duan || localhost | root |
+-----------+------+
5 rows in set (000 sec)通
过以上 *** 作,我们知道其实用root用户也可以远程登录mysql的,就是把root的host字段改成%即可,但是强烈不建议如此做,否则会带来严重的安全风险。
好了,我们可以连接我们的远端mysql了,在MySQL-Front上新建连接,输入连接名,远端的Linux的IP地址,输入用户名duan和密码123456,选择连接端口,mysql默认的是3306,OK,连接成功了。祝贺一下!!!
注意事项:
一:Linux防火墙一定要开放3306端口。
二:我用mysql50做实验,完全没有问题,但是mysql40好像有点问题。我们可以用duan用户在任何IP上登录数据库,应为我们duan用户的host字段是%。但是我只要一换IP,就无法连接mysql了。不知道是mysql版本的问题,还是我输入命令的时候有误。此问题需要进一步的证实。
备注:我从另一篇博客中看到在建立连接时在服务器后面填入ip地址即可,使用数据库选择mysql就可以了
感叹网络上如此众多的牛人!如今真的成了通过看博客和写博客学习交流的时代了 上午的时候安装IIS组件
然后配置,全部都是一头雾水在网上搜索一下,会搜出一片解决问题的办法,最后终于搞定了,具体又说不出来搞定的但是我想如果再有类似情况出现的话,会解决的更快也许经验就是这么得来的这个摸索的过程本身就是对事物的熟悉过程如果出现问题,旁边的人立即就指点迷津,是达不到这种效果的

第一步:安装MySQL客户端
当然你得确保MySQL客户端已经安装完毕。如果没有的话,可以按照下面的方法。
在Debian,Ubuntu 或者 Linux Mint上:
$ sudo apt-get install mysql-client
$ sudo apt-get install mysql
第二步:登陆到MySQL服务器
首先,你需要使用root用户登陆进你的MySQL数据库,如下:
$ mysql -u root -h -p
请注意:为了能登进远程的MySQL服务器,你需要开启服务器上的远程访问,如果你想调用同一主机上的MySQL服务器,你可以省略 "-h " 参数
$ mysql -u root -p
你将需要输入MySQL服务器的密码,如果认证成功,MySQL提示将会出现。
第三步:创建一个MySQL数据库
在MySQL提示中输入命令之前,请记住所有的命令都是以分号结束的(否则将不会执行)。另外,考虑输入命令的时候使用大些字母,输入数据库对象使用小写字母。但那不是必须的,只是方便的阅读。
现在,创建一个叫做xmodulo_DB的数据库:
mysql> CREATE DATABASE IF NOT EXISTS xmodulo_DB;
第四步:创建一个数据库表
为了达到演示的目的,创建一个叫做posts_tbl的表,表里会存储关于文章的如下信息:
文章的标题
作者的名字
作者的姓
文章可用或者不可用
文章创建的日期
这个过程分两步执行:
首先,选择需要使用的数据库:
mysql> USE xmodulo_DB;
然后,在数据库中创建新表:
mysql> CREATE TABLE 'posts_tbl' (
'post_id' INT UNSIGNED NOT NULL AUTO_INCREMENT,
'content' TEXT,
'author_FirstName' VARCHAR(100) NOT NULL,
'author_LastName' VARCHAR(50) DEFAULT NULL ,
'isEnabled' TINYINT(1) NOT NULL DEFAULT 1,
'date' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY ( 'post_id' )
TYPE = MYISAM;
第五步:创建一个用户,并授予权限
当涉及到访问新创的数据库和表的时候,创建一个新用户是一个很好的主意。这样做就可以让用户在没有整个MySQL服务器权限的情况下,去访问那个数据库(而且只能是那个数据库)
你可以创建新用户,授予权限,并且使改变生效:
mysql> GRANT ALL PRIVILEGES ON xmodulo_DB TO 'new_user'@'%' IDENTIFIED BY 'new_password';
mysql> FLUSH PRIVILEGES;
'newuser'和'newpassword'分别指的是新的用户名和他的密码。这条信息将会被保存在mysqluser表中,而且密码会被加密。
第六步:测试
先插入一个虚拟的记录到posts_tbl表:
mysql> USE xmodulo_DB;
mysql> INSERT INTO posts_tbl (content, author_FirstName, author_Las tName)
VALUES ('Hi! This is some dummy text', 'Gabriel', 'Canepa');
然后查看posts_tbl表中的所有记录:
mysql> SELECT FROM posts_tbl;
注意:MySQL会在先前定义的地方自动插入适当的默认值(比如,'isEnabled'和'date')。

Navicat是一个强大的MySQL数据库管理和开发工具。 Navicat为专业开发者提供了一套强大的足够尖端的工具,但它对于新用户仍然很易于学习。使用了极好的图形用户界面。在使用的过程中当连接远程mysql数据库时,连接总是无法建立,后来发现被连接的数据库需要授权欲连接的navicat所在机器ip地址。 navicat装在机器A上,ip地址为ipa。mysql数据库装在机器B上,ip地址为ipb。 1、进入机器B中mysql数据库的命令行,输入grant all on to 'root'@'ipa' identified by 'password'; 其中ipa为被授权机器A的ip地址,password为机器B中mysql数据库的密码。 2、在机器A的navicat中,建立新的连接,输入机器B的ip地址,机器B中mysql数据库的port,username,password,然后test connection,成功则可。若仍不成功,检查机器B中mysql数据库的配置,包括端口是否匹配,服务是否开启等等。

mysql> USE mysql; -- 切换到 mysql DB
Database changed
mysql> SELECT User, Password, Host FROM user; -- 查看现有用户,密码及允许连接的主机
+------+----------+-----------+
| User | Password | Host |
+------+----------+-----------+
| root | | localhost |
+------+----------+-----------+
1 row in set (000 sec)
mysql> -- 只有一个默认的 root 用户, 密码为空, 只允许 localhost 连接
mysql> -- 下面我们另外添加一个新的 root 用户, 密码为空, 只允许 1921681100 连接 如果你想所有机器都能连接 就设置为 %
mysql> GRANT ALL PRIVILEGES ON TO 'root'@'1921681100' IDENTIFIED BY '' WITH GRANT OPTION;
mysql> -- 当然我们也可以直接用 UPDATE 更新 root 用户 Host, 但不推荐, SQL如下:
mysql> -- UPDATE user SET Host='1921681100' WHERE User='root' AND Host='localhost' LIMIT 1;
修改 Mysql 配置文件 myini
bind-address = 127001
将 bind-address = 127001 这一行注释掉, 即修改为:
#bind-address = 127001
到此 Mysql-Server 端配置就完成了
还有不明白的 点上面百度HI 问


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10279784.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存