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

Ubuntu下安装MySQL,开启MySQL远程连接权限

2016-10-13 13:43 661 查看
转载:http://blog.sina.com.cn/s/blog_7045bf3a0102vei4.html

Ubuntu下安装MySQL,开启MySQL远程连接权限

一、Mysql安装与删除

1、删除MySQL:

sudo apt-get autoremove –purge mysql-server-5.0

sudo apt-get remove mysql-server

sudo apt-get autoremove mysql-server

sudo apt-get remove mysql-common(非常重要)

清理残留数据:

dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P

2、安装MySQL:

sudo apt-get install mysql-server

sudo apt-get install mysql-client

sudo apt-get install php5-mysql(安装php5-mysql,是将php和MySQL连接起来)

安装完成,Mysql服务器应该自动启动。

运行以下命令检查MySQL服务器是否正在运行:

root@ubuntu:/etc# sudo netstat -tap | grep mysql

tcp 0 0 :mysql :* LISTEN 8132/mysqld

服务器没有正常运行,可以是用下列命令重启服务器:

sudo /etc/init.d/mysql restart

3、安装成功:

root@ubuntu:/home/renxin# mysql -uroot -proot

mysql>

二、Linux服务器开启MySQL远程连接权限

默认MySQL的用户是没有远程访问权限的,因此程序和数据库不在同一台服务器上时,我们需要打开MySQL的远程访问权限。

1、登陆到MySQL中,为root进行远程访问的授权

1.1改表法:

修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相 应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。

mysql> use mysql;

mysql> update user set host = ‘%’ where user = ‘root’;

注意:如果遇到这个错误,ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’。

select host, user from user;查看一下数据库host信息是否已经有了%这个值,如果有,直接运行下面命令。

mysql> select host, user from user;

mysql> flush privileges;(使修改生效)

1.2授权法:

例如,你想用户(root)使用密码(root)从任何主机连接到mysql服务器的话。

mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;

“%”表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可。

2、修改/etc/mysql/my.cnf,需要root用户权限。找到文件中的:

bind-address = 127.0.0.1

将上面的语句注释掉,保存。

3、重新启动MySQL服务器

sudo /etc/init.d/mysql restart

注意,重启以后,如果遇到下面情况:

root@ubuntu:/etc# mysql -uroot -proot

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

root@ubuntu:/etc# ps -A|grep mysql

4710 ? 00:00:00 mysqld

5454 pts/8 00:00:00 mysqld_safe

5801 pts/8 00:00:00 mysqld

root@ubuntu:/etc# kill -9 4710

root@ubuntu:/etc# kill -9 5454

root@ubuntu:/etc# kill -9 5801

执行完上面的三步后,就可以通过远程机器连接了数据库了。

4、修改防火墙

iptables -I INPUT -p tcp –dport 3306 -j ACCEPT
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu mysql 远程连接