ubuntu mysql远程连接

本文介绍了如何在Ubuntu系统中配置MySQL以支持远程连接。通过修改MySQL的权限设置和配置文件,可以实现从任意客户端进行远程访问。此外,还提供了解决远程连接失败问题的方法。

ubuntu mysql远程连接

http://blog.youkuaiyun.com/helen_shw/archive/2010/01/22/5224524.aspxkiki@kiki-desktop:/etc/apache2

mysql error number 2003

Can't connect to MySQL server xxx.xxx.xxx.xxx (10061)

在ubuntu 9.04中默认安装了mysql,默认只能本地访问,google了一下:

采用

登录到MySQL服务器端,在mysql库下执行

grant all on *.* to 'remote'@'172.16.21.39' identified by 'password';

即可

如果要设置为任何客户端都可以以root连接的话,可以这么写:
grant all on *.* to'root'@'%'identifiied by 'root的密码'

格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"

类似这用方法的整理如下:

1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;



2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;



如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

但问题仍没有解决:

找到 命令 mysql> flush privileges //使修改生效

显示影响了零行。

问题依然没有解决,重新启动mysql sudo /etc/init.d/mysql restart

还是不行。

从 http://www.blogjava.net/waterjava/archive/2008/04/27/196385.html

了解到mysql有本机绑定,找到问题所在。

编辑 /etc/mysql/my.cnf

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1

将”bind-address = 127.0.0.1“注释
sudo /etc/init.d/mysql restart重启即可远程访问

问题解决


****************************************************************************************
root@kiki-desktop:/etc/apache2# apt-get install libapache2-mod-auth-mysql
apt-get install lighttpd
apt-get install openssl
root@kiki-desktop:/etc/apache2# apt-get install libapache2-mod-gnutls

$ mysql -u root -p
mysql> use authz_db;

mysql> CREATE TABLE users(
-> user_name CHAR(30) NOT NULL,
-> user_passwd CHAR(20) NOT NULL,
-> PRIMARY KEY (user_name)
-> );

mysql> GRANT SELECT
-> ON authz_db.users
-> TO authuser@localhost
-> IDENTIFIED BY 'Your Password Here';

mysql> flush privileges;

mysql> INSERT INTO users VALUES('test',ENCRYPT('TEST'));



root@kiki-desktop:/etc/apache2# chkconfig --level 35 mysqld on

---------------------------------
如果要设置为任何客户端都可以以root连接的话,可以这么写:
grant all on *.* to 'root'@'%' identifiied by 'root的密码'

进入mysql,
grant all on *.* to 'root'@'%' identifiied by 'root的密码'

root@kiki-desktop:/etc/mysql# vim /etc/mysql/my.cnf
编辑 /etc/mysql/my.cnf

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
将”bind-address = 127.0.0.1“注释

root@kiki-desktop:/etc/mysql# /etc/init.d/mysql restart

link:http://www.blogjava.net/jasmine214--love/archive/2011/01/14/342981.html

http://blog.youkuaiyun.com/mydeman/article/details/3847695

### 安装 MySQL 并配置远程连接 #### 准备工作 为了确保安全性和功能性,在Ubuntu上安装MySQL并设置其支持远程访问,需遵循一系列特定的操作流程。 #### 安装 MySQL Server 通过终端执行命令来更新包列表以及安装最新版本的MySQL服务器: ```bash sudo apt update && sudo apt install mysql-server ``` 完成上述操作后,启动MySQL服务并且将其设置为开机自启[^1]。 #### 配置 MySQL 远程访问权限 编辑`/etc/mysql/mysql.conf.d/mysqld.cnf`文件中的绑定地址部分,将bind-address修改为0.0.0.0或者具体的IP地址以便接受来自任何地方的数据请求。这一步骤至关重要因为默认情况下MySQL仅监听本地回环接口上的连接尝试[^2]。 #### 创建具有远程访问权限的新用户 登录到MySQL控制台之后创建一个新的数据库账户赋予相应的权限给该账号用于从外部网络位置进行管理活动: ```sql CREATE USER 'newuser'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%'; FLUSH PRIVILEGES; ``` 以上SQL语句定义了一个名为`newuser`的新用户,并授予此用户全局范围内的全部特权;请注意替换实际使用的用户名和密码字符串。 #### 开放防火墙端口 为了让外界能够触及到运行于内部的服务程序,则需要开放必要的通信端口号,默认情况下MySQL使用的是3306号TCP端口。对于基于UFW(Uncomplicated Firewall)防护机制下的Linux发行版而言,可以利用如下指令开启指定端口: ```bash sudo ufw allow 3306/tcp ``` 最后重启MySQL服务使更改生效: ```bash sudo systemctl restart mysql.service ``` 此时已经完成了基本的MySQL远程接入准备工作,但是建议进一步加强安全性措施比如采用SSL加密传输通道等方法提高系统的整体防御能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值