使用windows-SQLyog连接linux-mysql
嘿嘿,最近又清闲了一点,重新安装了mysql去学习。
-----博客园-邦邦酱好
系统环境:
1. 主机为windows系统,安装了SQLyog。
2. 主机上还安装了虚拟机,系统为centos6.4,里面安装了mysql5.0.95。
连接步骤:
1. 打开虚拟机的centos系统,登陆mysql,以启动mysql服务。
登陆方法大概如下:
[root@localhost ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 5.0.95-log Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
印象中可以设定某些文件,让它每天定时自启动的,没仔细了解,就不细说了。
2. 检查数据库“mysql”的“user”表,看看root对应的host是否设置正确。
mysql> use mysql Database changed mysql> select user,password,host from user; +---------+-------------------------------------------+------+ | user | password | host | +---------+-------------------------------------------+------+ | root | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 | % | | tester1 | 123 | % | +---------+-------------------------------------------+------+ 2 rows in set (0.00 sec) mysql>
注意:
(1)上文中root的host已经是%,意思是所有不同主机都可以连接到此处的mysql来,记得设置过表内容后,再接着在update语句下输入:mysql> FLUSH PRIVILEGES命令来更新表内容,否则SQLyog是感受不到数据库的改变的。
(2)其实%是不大安全的,理论上可以把host设置为主机win7系统的IP地址,这样就只有本机可以连接它了,但是我试了,发现不能连上,提示如下,我也搞不懂了。
(3)host在这里不能被设为localhost,因为主机的IP地址和虚拟机中系统的IP地址是不一样的。可以使用ifconfig命令查看centos系统的IP地址,这里的我centos系统IP地址为:192.168.254.129。
[root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:FE:DE:02 inet addr:192.168.254.129 Bcast:192.168.254.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fefe:de02/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:21330 errors:0 dropped:0 overruns:0 frame:0 TX packets:12326 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:28364229 (27.0 MiB) TX bytes:757142 (739.3 KiB) Interrupt:19 Base address:0x2024 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:12 errors:0 dropped:0 overruns:0 frame:0 TX packets:12 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:720 (720.0 b) TX bytes:720 (720.0 b)
(4)如果把host设为localhost,那是因为mysql跟SQLyog是在同一个系统上安装的,所以才行。
3. 在SQLyog里新建一个连接
注意:
(1)Saved Connects是你设定的连接名称,可以随意设定。
(2)MySQL Host Address是要连接的mysql所在的IP地址,如果mysql跟SQLyog安装在同一个系统上,那就可以写为:localhost。
(3)输入登录mysql所用的用户名,密码。
(4)其他信息默认即可。
4. 点击连接connect,如果成功,即可看到如下数据库结构:
左右对比可见连接后看到的数据库名称,跟服务器上的数据库名称是一样的~~~
5. 如果还是连接失败,提示:error no2003:can't connect to MYSQL SERVER 192.168.***(10060)
那有可能是由于mysql服务端的防火墙禁止了3306端口。
这时需要这样做:
vi /etc/sysconfig/iptables 添加下面这一行数据:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306-j ACCEPT
再重启防火墙服务:service iptables restart
ps: iptables设置
1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop