1.下载deb-bundle文件包
首先登录服务器
执行: wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-server_5.7.18-1ubuntu16.04_amd64.deb-bundle.tar
下载DEB-bundle包
然后执行解压
解压命令为:
tar –xvf mysql-server_5.7.18-1ubuntu14.04_amd64.deb-bundle.tar
解压完得到一大堆deb的文件:
mysql-testsuite_5.7.18-1ubuntu16.04_amd64.deb
mysql-community-client_5.7.18-1ubuntu16.04_amd64.deb
mysql-community-server_5.7.18-1ubuntu16.04_amd64.deb
mysql-community-test_5.7.18-1ubuntu16.04_amd64.deb
libmysqlclient20_5.7.18-1ubuntu16.04_amd64.deb
mysql-client_5.7.18-1ubuntu16.04_amd64.deb
libmysqld-dev_5.7.18-1ubuntu16.04_amd64.deb
mysql-community-source_5.7.18-1ubuntu16.04_amd64.deb
libmysqlclient-dev_5.7.18-1ubuntu16.04_amd64.deb
mysql-server_5.7.18-1ubuntu16.04_amd64.deb
mysql-common_5.7.18-1ubuntu16.04_amd64.deb
2.执行安装
然后按照顺序依次安装这些文件
sudo dpkg -i mysql-common_5.7.18-1ubuntu16.04_amd64.deb
sudo dpkg -i libmysqlclient20_5.7.18-1ubuntu16.04_amd64.deb
sudo dpkg -i libmysqlclient-dev_5.7.18-1ubuntu16.04_amd64.deb
sudo dpkg -i libmysqld-dev_5.7.18-1ubuntu16.04_amd64.deb
sudo dpkg -i mysql-community-client_5.7.18-1ubuntu16.04_amd64.deb
sudo dpkg -i mysql-client_5.7.18-1ubuntu16.04_amd64.deb
sudo dpkg -i mysql-community-source_5.7.18-1ubuntu16.04_amd64.deb
3.下载安装libmecab2
剩下的这一步需要下载依赖库libmecab2,这块折腾了很久,因为第一次下载的版本是0.996-1.1的,而最新的mysql-community-server要求版本>=0.996-1.2
先执行命令 sudo dpkg -r libmecab2 删除旧版本
然后重下,但是最后安装不了,然后又换了几个下载地址才搞定...
安装最后一个文件:
sudo dpkg -i mysql-community-server_5.7.18-1ubuntu16.04_amd64.deb
然后就可以登录啦 :Mysql -u username -p【password】
4.开启远程访问
启动和停止的命令
/etc/init.d/mysql start
/etc/init.d/mysql stop
mysql安装之后,需要开启远程访问权限
创建用户并且赋予权限
脚本如下:
GRANT <ALL|priv1,priv2,.....privn> ON
[object] [IDENTIFIED BY 'password']
[WITH GRANT OPTION];
MAX_QUERIES_PER_HOUR count
MAX_UPDATES_PER_HOUR count
MAX_CONNECTIONS_PER_HOUR count
MAX_USER_CONNECTIONS count
说明:priv代表权限select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限
示例:
grant select,insert,update,delete,create,drop on test.hr to user@192.168.10.1 identified by '123';
表示为用户user创建从地址192.168.10.1对数据库test的hr表进行select,insert,update,delete,create,drop的权限,其密码为123
grant select,insert,update,delete,create,drop on *.* to user@'%' identified by '123';
表示为用户user创建从任何远程地址对数据库的所有库和表进行select,insert,update,delete,create,drop的权限,其密码为123
执行完后需要刷新权限:
flush privileges;
然后发现还是访问不了...
查找资料得知下面的方法:
把/etc/mysql/my.cnf文件中的
bind-address = 127.0.0.1
修改为
bind-address = 0.0.0.0 或者注释掉
但是我打开这个文件发现没有这个参数,
然后发现远程无法访问,
后来查到运行这个命令:
netstat -apn|grep 3360
结果为:
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 26255/mysqld
3306端口绑定到了本地
最后然后终于在
/etc/mysql/mysql.conf.d/mysqld.conf
这个目录中找到了参数,修改完重启就OK了
如果是使用云服的同学,记得在管理端的安全策略中打开3306等端口的访问权限。