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

来源:互联网 发布:淘宝客推广网站模板 编辑:程序博客网 时间:2024/04/29 04:38

转载: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

0 0
原创粉丝点击