一.安装软件
1.使用root账号,安装软件:
sudo apt-get install mysql-server
sudo apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev
安装mysql-server的时候,需要输入root账户的密码。
2. 以上3个软件包安装完成后,使用如下命令查询是否安装成功:
sudo netstat -tap | grep mysql
查询结果如下图所示,表示安装成功。
root@xyz:~# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 7510/mysqld
root@xyz:~#
二、配置文件设置mysql远程访问
1. 编辑mysql配置文件,把其中bind-address = 127.0.0.1注释了
vi /etc/mysql/mysql.conf.d/mysqld.cnf
2. 使用root进入mysql命令行,执行如下2个命令,示例中mysql的root账号密码:root
mysql -u root -p
mysql> use mysql;
mysql> select 'host' from user where user='root';
mysql> update user set host = '%' where user = 'root';
mysql> flush privileges;
mysql> select 'host' from user where = 'root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。\
3. 重启mysql
/etc/init.d/mysql restart
三.数据库设置mysql远程访问
配置mysql允许远程链接
默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。本人使用方法一:改表法。
配置mysql允许远程链接
默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。
(一)、改表法
在localhost登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改称"%"
例如:
mysql -u root -p
use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;
(二)、授权法
例如: 你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES
使修改生效,就可以了
四.重启服务
/etc/init.d/mysql restart
这样就可以使用第三方工具远程访问mysql了
五.注意
关于端口
假如访问不了,报的错误提示远程端口没有打开,需要打开3306端口。
1.是否开启防火墙,防火墙打开3306端口。
sudo ufw allow 3306
2.云主机是否开启了3306端口访问,今天下午因为这个搞了一下午,大家发现配置都没问题,还是连不了,最后确认下云主机的相关设置。
关于卸载、重装mysql:
要彻底删除mysql,
运行:
sudo apt-get --purge remove mysql-*
这样删除了程序和配置,但是密码和一些设置,包含在了数据库文件中,这些要手动删除。不然重装后,这些信息仍然会引用之前的。
具体地址在:/var/lib/mysql 目录中,这个文件夹保存了mysql的数据文件。假如mysql下的数据库全部不要了,你可以直接删除这个文件夹。若需要保留以前的自己建数据库文件,就把此文件夹下mysql相关的文件,全删了。
申明:本文根据多篇文章和自己实践综合编辑。