MySql Server(Debian Linux)远程访问设置

1. 登录Mysql Server:

$mysql -u root -p

2. 检查网络,Server是否允许远程连接:

mysql> show variables like ‘%skip_networking%‘;  此值应该为‘OFF’,一般默认值即为‘OFF‘, 表示允许TCP/IP连接
skip_networking: 只允许通过一个套接字文件(Unix/Linux系统)或通过命名管道(Windows系统)进行本地连接,不允许ICP/IP连接; 这提高了安全性,但阻断了来自网络的外部连接和所有的Java客户程序(Java客户即使在本地连接里也使用TCP/IP).在值可以在/etc/mysql/my.cnf中进行设置.

3. 绑定权限到mysql.user数据表:

mysql> use mysql;
mysql> GRANT ALL ON *.* TO [email protected]‘%‘ IDENTIFIED BY ‘password‘ WITH GRANT OPTION;
#允许任何IP地址(‘%‘字符即表示这个意思)的PC, 用user帐户和password密码来远程访问整个MySQL Server(‘*.*‘所有的所有)
#必须加类似这样的帐户,才可以远程登陆. root帐户是无法远程登陆的,只可以本地登陆.
#绑定此server下某个特定数据库, 比如只可以远程访问itest表
#mysql> GRANT ALL ON itest.* TO [email protected]‘%‘ IDENTIFIED BY ‘password‘ WITH GRANT OPTION;

4. 修改Mysql配置文件:

$sudo vim /etc/mysql/my.cnf
#注释bind-address或者改为指定IP地址

5. 保存文件,重启service

$sudo service apache2 restart
#或者sudo /etc/init.d/mysql restart

6. 防火墙规则下,打开3306端口

$sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
#如果出现以上,则表示没有防火墙规则,所有端口已开放

#如果存在防火墙规则
$sudo vim /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙)
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
Tips:不要把这两条规则添加到防火墙配置的最后一行,否则会导致防火墙启动失败, 可以添加到22端口下边.
####################################
# Firewall configuration written by system-config-firewall
... ...
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
... ...
####################################
Tips: INPUT <--> RH-Firewall-1-INPUT 根据配置文件使用不同的链
$sudo service apache2 restart
#或者$sudo /etc/init.d/iptables restart 重启防火墙
时间: 2024-10-12 15:42:52

MySql Server(Debian Linux)远程访问设置的相关文章

mysql Linux 安装 远程访问设置(Ubuntu)

Ununtu安装MySQL需要三个指令: 1. 指令一 # sudo apt-get install mysql-server // 执行过程中会提示输入密码和重复输入密码(直接输入密码即可),如下图(图1.图2) 图1: 图2 2.指令二.指令三 # apt-get isntall mysql-client # sudo apt-get install libmysqlclient-dev 3.检查安装是否成功 # sudo netstat -tap | grep mysql // 如果显示有

linux mysql 数据库开启外部访问设置指南

Linux下设置MySQL和允许外部机器访问,具体目录是具体情况而定,有的人是安装了在个人目录下,则找到对应的目录则可以 Linux下设置MySQL和允许外部机器访问sudo vi /etc/my.cnf 具体目录是具体情况而定,有的人是安装了在个人目录下,则找到对应的目录则可以. 一.配置文件的修改 1.#sudo vim /etc/mysql/my.conf 找到 bind-address = 127.0.0.1 注释掉这句话 二.Mysql数据库的修改 1) [[email protect

linux下设置mysql apache 开机后自动启动

1 #将mysql启动脚本放入所有脚本运行目录/etc/rc.d/init.d中 2 cp /lamp/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld 3 4 #改变权限 5 chown root.root /etc/rc.d/init.d/mysqld 6 7 #所有用户都可以执行,单只有root可以修改 8 chmod 755 /etc/rc.d/init.d/mysqld 9 10 #将mysqld 放入lin

mysql 数据库远程访问设置方法

摘自: http://www.iteye.com/topic/418151 mysql数据库远程访问设置方法 1.修改localhost更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%" mysql>use mysql; mysql>update user set host = '%' where user = 'root'; mysql

Linux中 设置apache,mysql 开机启动

linux开启启动的程序一般放在/etc/rc.d/init.d/里面,/etc/init.d/是其软连接 mysql设为linux服务 cp /usr/local/mysql5/share/mysql/mysql.server /etc/init.d/mysqldchkconfig --add mysqldchkconfig --level 2345 mysqld onchown mysql:mysql -R /usr/local/mysql5/service mysqld start apa

linux 下mysql的安装,并设置必要的密码

首先,我使用的是redhat linux ,版本号为: 1 [[email protected] init.d]# cat /proc/version 2 Linux version 2.4.20-8 ([email protected]) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #1 Thu Mar 13 17:54:28 EST 2003 1.  第一步,下载一个mysql版本...我下载的是.tar压缩包,所以对于其他的压缩

Linux下MySQL Error 1130 不能远程访问(转)

Linux下MySQL Error 1130 不能远程访问 内容简介:远程连接MySQL时总是报出erro 2003: Can't connect to MySQL server on '211.87.***.***' (111),昨天查了好几个小时才找到解决方案,如下:…… 最近做Linux项目用到MySQL数据库,可是远程连接MySQL时总是报出erro 2003: Can't connect to MySQL server on '211.87.***.***' (111),昨天查了好几个

Linux下设置MySQL不区分大小写

MySQL在Linux下数据库名.表名.列名.别名大小写规则: 1.数据库名与表名是严格区分大小写 2.表的别名是严格区分大小写 3.列名与列的别名在所有的情况下均是忽略大小写的 4.变量名也是严格区分大小写的 注意: A.Linux下MySQL安装完后默认:区分表名的大小写,不区分列名的大小写 B.改变表名的大小写区分规则的方法:用root帐号登录,在/etc/my.cnf 或 /etc/mysql/my.cnf 中的[mysqld]下面添加添加lower_case_table_names=1

Linux下Nginx、PHP、MySQL、Redis开机自启动设置

一.Nginx开机启动设置 1.在/etc/init.d/目录下创建脚本 vi /etc/init.d/nginx 2.更改脚本权限 chmod 775 /etc/init.d/nginx 3.编写脚本内容 #! /bin/shset -ePATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binDESC="nginx daemon"NAME=nginxDAEMON=/usr/local/nginx/sbin/$N