Ubuntu下卸载、安装mysql,并且授权和远程连接mysql

来源:互联网 发布:电脑桌 知乎 编辑:程序博客网 时间:2024/06/08 23:53

Ubutun版本:Linux version 2.6.32-431.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013

在Ubuntu卸载和安装mysql按照网上的步骤,问题不大。但是在远程连接mysql这部分,折腾了三个小时,所以特意记录下来。


以下部分转载自网络:


删除 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

安装 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 服务器是否正在运行:
sudo netstat -tap | grep mysql
当您运行该命令时,您可以看到类似下面的行:
tcp 0 0 localhost.localdomain:mysql *:* LISTEN -
如果服务器不能正常运行,您可以通过下列命令启动它:
sudo /etc/init.d/mysql restart

进入mysql
$mysql -uroot -p密码

配置 MySQL 的管理员密码:
sudo mysqladmin -u root password newpassword


以下部分原创:

假设防火墙已经关闭,mysql服务关闭,我的用户名是:root,密码是:123456

开启mysql:

sudo /etc/init.d/mysql start 

登录mysql:

sudo mysql -uroot -p123456

使用mysql数据库:

use mysql 

将权限赋予给远程连接的用户。用户名为root,密码为123456

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

刷新权限:

 FLUSH PRIVILEGES;

打不了再重启mysql

sudo /etc/init.d/mysql restart

然后用客户端尝试是否可以连接到这个mysql,发现连接不上:


网上查询了很多,有说关闭防火墙,但是防火墙我已经关闭,也有的说将/etc/mysql/my.cnf文件中bind-address = 127.0.0.修改成bind-address = 0.0.0.0 (使用sudo vim /etc/mysql/my.cnf 命令)但是我的/etc/mysql/my.cnf文件内容是如下的:


改文件跟网上说的文件不太一样,尝试加入bind-address = 0.0.0.0 会使mysql不能启动。

经过三小时的折腾,发现Ubuntu上占用3306端口的信息如下:


而我之前redhat上是可以远程连接mysql的,它的是这样的:


对比可以发现ubuntu上的bind-address确实是127.0.0.1的,这会使得mysql不能被远程连接。而redhat上的bind-address是0.0.0.0,可以远程连接。

找到了问题所在,现在唯一的问题是去哪里将这个127.0.0.1修改成0.0.0.0?

试着在/etc/mysql目录下查找内容中带有“127.0.0.1”的文件。使用如下命令:

find /etc/mysql -type f | xargs grep "127.0.0.1":


发现确实存在该文件,而且只有一个,它就是/etc/mysql/mysql.conf.d/mysqld.cnf

将该文件中的bind-address = 127.0.0.1改成0.0.0.0即可。


重新连接,发现连接成功:


0 0