一.卸载mysql
删除mysql的数据文件
sudo rm /var/lib/mysql/ -R
删除mysql的配置文件
sudo rm /etc/mysql/ -R
自动卸载mysql(包括server和client)
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor
然后在终端中查看MySQL的依赖项:dpkg --list|grep mysql
一般到此就能卸载完成,如果不行参考:Ubuntu16.04彻底卸载MySQL
二. 安装mysql
# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get -f install
1. sudo apt-get install mysql-server
2. sudo apt-get install mysql-client
3. sudo apt-get install libmysqlclient-dev
注:如果安装过程中有未发现的包,请用命令sudo apt-get update更新软件包。
安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:
sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql的socket处于 listen状态则表示安装成功。
登陆mysql数据库可以通过如下命令:
mysql -u root -p
-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
首先,使用如下指令查看3306端口是否对外开放。
netstat -an | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
如果显示如上,说明mysql端口目前只监听本地连接127.0.0.1。然后需要修改mysql的配置文件
cd /etc/mysql/mysql.conf.d
sudo vim mysqld.cnf
将其中bind-address = 127.0.0.1注释掉。
2. 授权远程访问
首先,进入数据库 mysql -u username -p password,username为你的mysql用户名,password为你的mysql密码。
然后,执行如下sql语句
mysql> grant all on *.* to username@'%' identified by 'password'; #username为你的mysql用户名,password为你的mysql密码。
-
重启mysql服务
service mysql restart
-
在防火墙中开启3306端口
如果执行了前三个步骤仍然不能远程访问mysql,那么有可能是防火墙阻止访问,需要开启允许访问。
sudo ufw allow 3306