您的位置:首页 > 数据库 > MySQL

腾讯云Debian系统安装Mysql使其支持远程连接

2018-02-22 14:57 323 查看
原文链接

goo gle云同样适用该方法 , 中间有些步骤可以省略

修改配置文件, 添加远程登录, 添加防火墙规则 就可以了

但是重启mysql会报 

mysql.serviceFailed to get D-Bus connection: No such file or directory

不想纠结 就直接reboot 重启让配置文件生效


安装Mysql:

首先使用apt-get命令安装Mysql服务端和客户端
# sudo apt-get install libmysqlclient-dev mysql-common mysql-client mysql-server


安装过程中一般会要求输入密码,完成后启动Mysql:
# /etc/init.d/mysql start


设置安全策略:
mysql_secure_installation


安装chkconfig并将Mysql添加到开机自启列表:
# apt-get install chkconfig
# chkconfig -add mysql


允许远程连接Mysql:

如果端口开放仍然连接不上Mysql有可能是监听地址的原因。

输入命令查看监听地址:
netstat -nutlp|grep mysql


如果第三个参数的监听地址是0.0.0.0 ,表示该mysql允许所有IP地址进行连接,

监听地址是127.0.0.1,表示该mysql只允许所在服务器本机连接,外网是无法连接的,

需要更改Mysql的监听地址,在Mysql目录下编辑my.cnf文件:
# vim /etc/mysql/my.cnf


搜索到bind-address参数,将其改为
bind-address=0.0.0.0


然后登录到Mysql添加远程登录账号,远程连接需要使用这个账号密码。
# mysql -u root -p

> grant all on *.* to root@'%' identified by '123456';
> flush privileges;
> exit


退出后输入命令重启MySql即可远程连接。
# /etc/init.d/mysql restart


命令详解

字符说明
*.*第一个*表示库,第二个*表示表; *.*对全部数据库的全部表授权,so.ok 表示只对so这个库中的ok表授权
root表示要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的
'%'表示允许远程连接的IP地址,%代表允许所有IP连接

只允许某个IP远程连接,可以写成'123.123.123.123'

只允许123.123.123.*这个网段远程连接,可以写成 '123.123.123.%' 

'123456' 是设置授权用户的连接密码
使用flush privileges立即刷新权限表,使添加的用户生效,完成后重启Mysql服务即可生效:
# /etc/init.d/mysql restart


附录:


Mysql文件目录

数据库目录 /var/lib/mysql/

配置文件 /usr/share/mysql(mysql.server命令及配置文件)

相关命令 /usr/bin(mysqladmin mysqldump等命令)

启动脚本 /etc/rc.d/init.d/(启动脚本文件mysql的目录)


Mysql相关命令

启动
# /etc/init.d/mysql start


重启
# /etc/init.d/mysql restart


停止
# /etc/init.d/mysql stop


查看开机自启列表
# /sbin/chkconfig –list


将Mysql添加到开机自启列表
# /sbin/chkconfig – add mysql


将Mysql从开机自启列表中删除
# /sbin/chkconfig – del mysql
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: