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

原文链接

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


阅读更多
个人分类: 数据库 linux
上一篇Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图
下一篇静默安装oracle 11g
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭