由于之前自己对于环境部署有很多也没有亲手去实践过,所以导致在实际迁移部署的时候遇到了很多的问题 这里一一记录下。
首先mysql部署好以后是需要远程连接的,这个实际上是windows也是一样的。
首先mysql的访问以及用户账号信息都是在user表中 我们通过sql查询来看看mysql> use mysql; Database changed mysql> select host, password, user from user; +-----------+-------------------------------------------+------+ | host | password | user | +-----------+-------------------------------------------+------+ | localhost | *BEE8C12B4FAEE800764C04A81EA9201753E0A1C6 | root | +-----------+-------------------------------------------+------+
上边可以看到 只有一个默认的root用户,同时是只运行localhost进行连接的。所以我们需要增加一个新的root用户可以通过任意的ip进行访问
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password(root的密码)' WITH GRANT OPTION; mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> select host,password,user from user; +-----------+-------------------------------------------+------+ | host | password | user | +-----------+-------------------------------------------+------+ | localhost | *BEE8C12B4FAEE800764C04A81EA9201753E0A1C6 | root | | % | *BEE8C12B4FAEE800764C04A81EA9201753E0A1C6 | root | +-----------+-------------------------------------------+------+
这里的%实际上就是指代的任意的ip地址了,所以这个时候理论上我们的mysql就可以运行访问了。
防火墙问题
为什么在第一步里面我们说是理论上呢,因为配置完上边的内容后,实际上仍然无法访问,尝试百度了下 可能是防火墙的问题,所以我们先看下防火墙的情况吧[sai@swqa etc]$ sudo service iptables status 表格:filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) num target prot opt source destination
其实上边可以看出来 目前只是运行了端口22的tcp连接以及icmp ping包, 至于第三条不要被误导了,其实是系统 lo回环接口用的。
所以我们需要增加3306的接口sudo iptables -I INPUT -p tcp --dport 3306 -j ACCEPT [sai@swqa etc]$ sudo service iptables status 表格:filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 4 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 7 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
我们重新再尝试远程连接sql试试
嗯成功连接上了。表名/文件名大小写问题
由于centos系统对于大小写敏感不同于windwos系统,所以文件名称引用到 若大小写不正确则会报错