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

Ubuntu下MySQL 远程连接设置

2014-12-12 14:37 459 查看
1、mysql安装后密码无法登陆问题

这时你需要进入/etc/mysql目录下,然后查看里面的用户名和密码,然后

sudo vim debian.cnf
使用这个文件中的用户名和密码进入mysql,假如debian.cnf中的用户名为debian-sys-maint,则:

mysql -u debian-sys-maint -p


按回车,这时需要你输入密码,复制debian.cnf中的密码(不要手动输入,因为容易产生错误)。
在终端中会出现mysql>这样的提示:
use mysql
show tables;//查看mysql数据库中的表,会看到一个user表。
select * from user;//查看一下这个表中是否有root用户,如果有:
update user set password=password("root") whereuser="root";//更改root用户进入mysql的密码。
flush privileges;
quit退出mysql。
然后用
mysql -u root -proot


重新登录mysql即可。

如果user表中没有root用户:用grant命令
grant all privileges on *.* to root@localhost identified by'123'
其中*.*代表所有数据库中的所有表,即database name.your table'123'表示为root用户的密码。
flush privileges;
select * from user;查看一下user这个表中是否有root用户。如果有表示添加成功。
quit退出mysql.

mysql -u root -p 123进入mysql即可。

2、配置远程连接



vim /etc/mysql/my.cnf找到bind-address = 127.0.0.1

注释掉这行,如:#bind-address = 127.0.0.1

或者改为: bind-address = 0.0.0.0

允许任意IP访问;

或者自己指定一个IP地址。

重启 MySQL:sudo /etc/init.d/mysql restart



授权用户能进行远程连接

grant all privileges on *.* to root@"%" identified by "password" with grant option;

flush privileges;

第一行命令解释如下,*.*:第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户。root:授予root账号。“%”:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。“password”:分配账号对应的密码,这里密码自己替换成你的mysql root帐号密码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: