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'的主机可以登陆
(第一个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
[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无需设置?)
然后打开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连接。
点击连接测试看到如下内容表示成功。