Linux 命令之 Navicat 连接 Linux 下的Mysql数据库

  2016年12月7日18:44:06

-====------------------------

 GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;
(第一个itoffice表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个itoffice表示密码)。这段指令容许所有用root用户输入密码登陆该mysql server,如果将'%' 换乘'192.168.1.124' ,那么只有'192.168.1.124'的主机可以登陆
 
 
1、使用root 用户登陆Linux,登陆MySQL的root用户,更改容许登陆的IP地址范围。
[root@bugzilla ~]# mysql -u root -p  

mysql>grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;  

执行 flush privileges;  //命令立即生效

查询数据库的用户(看到如下内容表示创建新用户成功了)
 SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

 2. 使用exit命令退出MySQL
 然后打开vim  /etc/mysql/my.cnf
 将bind-address    = 127.0.0.1
 设置成bind-address    = 0.0.0.0(设备地址)(新版的bind-address绑定的是0.0.0.0无需设置?)
注释:netstat -apn|grep 3360查看3306端口的状态
终于发现了一个比较奇怪的东西
tcp        0      0 127.0.0.1:3306            0.0.0.0:*               LISTEN      3783/mysqld
上面标红的地方,监听端口正常,但却绑定了本地回旋地址,难怪总是连接不上,于是查了下资料,找到了解决办法:
修改mysql的配置文件/etc/mysql/my.conf,将bind-address后面增加远程访问IP地址或者禁掉这句话就可以让远程机登陆访问了。

重新启动(命令如下):
/etc/init.d/mysqld stop
/etc/init.d/mysqld start
或restart
或者重启Apache or Nginx 服务器(不推荐)

查看端口号
 show global variables like 'port';  

设置navicat连接。

点击连接测试看到如下内容表示成功。
原文地址:https://www.cnblogs.com/942267027wzmblog/p/6142324.html