ubuntu安装并远程访问mysql

本文介绍如何配置MySQL服务器以允许远程访问,包括安装路径、数据库权限设置、iptables配置及重启方法等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. apt-get install mysql-server5.6

2. 安装相关路径

安装目录:/usr/share/mysql/
命令目录:/usr/bin/mysql*
配置文件:/etc/mysql/my.conf
数据库表文件夹:/var/lib/mysql/ 

3. 数据库远程访问设置

(1) 授权设置,授权设置有如下三种方式

a. 修改localhost
更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%" 
mysql>use mysql; 
mysql>update user set host = '%' where user = 'root'; 
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;

b. 指定授权
使用myuser/mypassword从任何主机连接到mysql服务器: 
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
使用myuser/mypassword从ip为192.168.225.166的主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

c. 泛授权
mysql -h localhost -u root 
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; //赋予任何主机上以root身份访问数据的权限 
mysql>FLUSH PRIVILEGES;


(2) 查看/etc/mysql/my.cnf中,skip-networking 是否已被注掉

需要注掉
报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (111)
 
sudo gedit /etc/mysql/my.cnf 
#skip-external-locking
#bind-address        = 127.0.0.1
skip-name-resolve

4. 重启数据库

(1) 启动
a. 使用 service 启动:service mysqld start
b. 使用 mysqld 脚本启动:/etc/inint.d/mysqld start
c. 使用 safe_mysqld 启动:safe_mysqld&
(2) 停止
a. 使用 service 启动:service mysqld stop
b. 使用 mysqld 脚本启动:/etc/inint.d/mysqld stop
c. mysqladmin shutdown
(3) 重启
a. 使用 service 启动:service mysqld restart
b. 使用 mysqld 脚本启动:/etc/inint.d/mysqld restart

5. mysql编码设置,请查看另一篇文章<解决ubuntu下修改my.cnf设置字符集导致mysql无法启动>

6. 现在可以使用工具进行远程访问了




解决Mysql无法远程连接的问题 


1、Mysql的端口是否正确
通过netstat -ntlp 查看端口占用情况,一般情况下端口是3306。在用工具连接MySQl是要用到端口。例如My Admin\My Query Browser\MySQl Front等。


2、检查用户权限是否正确
mysql库的user表里有两条记录:host分别为localhost和%(为了安全,%可以换成你需要外部连接的IP)。


3、查看/etc/mysql/my.cnf中,skip-networking 是否已被注掉
需要注掉
报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (111)
 
sudo gedit /etc/mysql/my.cnf 
#skip-external-locking
#bind-address        = 127.0.0.1
skip-name-resolve


4、查看iptables是否停掉,没关的情况下,无法连接
通过:service iptables stop临时关闭。
报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (113)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值