Ubuntu 是基于 Debian 的 unstable 或者 testing 分支,同时对来自 Debian 的部分软件包进行了一定的修改,以使其更加适合桌面使用。 同时,优化了安装过程,使 Ubuntu 安装起来更加容易。Debain相对于Ubuntu更加稳定,所占内存更加小,所以在项目中更换了Debain系统。
安装mysql
之前再Ubuntu系统中,直接使用apt-get install mysql-server指令就可以安装mysql,我按之前的操作进行,显示无法安装mysql,经过查询知道,debain系统中并没有mysql的源,因此,要先配置apt-get源才可以安装。
1、配置apt-get源
debian下安装软件的指令为apt-get,在使用apt-get安装MySQL之前,需要先下载MySQL官网提供的DEB包,以将MySQL的仓库添加到apt-get的源中,打开网站MySQL APT Repository:
点击Download,进入一下界面:
选择No thanks, just start my download进入下载界面
从网址这一栏获得下载网址即可。
进入系统命令行,使用以下指令进行下载
wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
下载之后使用ls查看到刚刚下载的文件,然后使用dpkg指令添加该文件进apt-get的源
dpkg -i ./mysql-apt-config_0.8.15-1_all.deb
执行以上指令之后会弹出mysql配置界面,界面如下:
我们直接移动鼠标到ok位置回车即可!
最后我们使用以下指令来更新源
apt-get update
2、安装mysql
apt-get install mysql-server
实现navicat访问数据库
修改用户权限实现远程连接
安装好mysql后使用navicat去连接mysql,出现错误,显示连接不上,这是因为mysql默认只能本地连接,我们需要修改权限,使得mysql可以进行远程访问,在服务器端登录mysql进行修改,在服务端登录mysql时出现以下错误:
1、2002错误
可是登录mysql时出现上面所示错误
解决方法:
修改/etc/my.conf,在[mysqld]下面添加
[client]
socket=/var/lib/mysql/mysql.sock
完整的my.conf内容如下:
[mysqld]
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
[mysql.server]
user=mysql
basedir=/usr/local/mysql
If there is not currently a section called [client], add one at the bottom of the file and copy the socket= line under the [mysqld] section such as:
[client]
socket=/var/lib/mysql/mysql.sock
2、2003错误
然后再登录mysql出现以下错误:
查看mysql服务是否启动,原来是mysql没有启动,启动mysql即可,之后可以登录mysql
解决完以上两个问题,就可以对权限进行修改,然后实现远程登录mysql了。
3、正式修改远程登录权限
进入 mysql 后进行如下操作
操作数据库改为 mysql 这个库
从表 user 中查看用户和支持的主机,默认只支持 localhost
修改 root 用户的登录主机为 “任意主机”
再次查看观察到修改成功
use mysql;
select User,Host from user;
update user set host = '%' where user = 'root';
select User,Host from user;
exit
然后重启mysql服务
service mysql restart
4、解决了登录权限的问题后,使用navicat连接数据库出现2059错误
use mysql;
select User,Host ,plugin from user;
加密方式是新的加密方式
更改回原来的加密方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root用户的密码';
再次查看加密方式
select User,Host ,plugin from user;
再次进行连接就可以连上了!