【Linux】01_腾讯云Ubuntu安装及远程访问MySql

来源:互联网 发布:防盗网络应用 编辑:程序博客网 时间:2024/05/22 00:25

  • Info
  • 前言
  • XShell远程连接Linux
  • 更新apt-get
  • 设置Linux Root密码
  • 配置MySql
    • 安装MySql
    • 添加MySql用户
    • MySQL远程访问
  • 参考


Info

  • Ubuntu Server 16.04.1 LTS 32位

  • MySql 5.7.19

  • Xshell.exe 5.0.0049

  • Navicat 11.1.13


前言

之前在做微信方面的东西,用的是阿里云虚拟机,纯PHP内访数据库外置接口,中间有些许不便。此次使用Linux+Python+MySql作为尝试,一方面是作为扩展的一个方向,另一方面也算是满足一直一来想碰下Linux的小愿望。在此记录,以便以后作为参考。

XShell远程连接Linux

在腾讯云上买了个系统,滑稽地买了Window Server,瞬间懵逼,还好有重装系统机制。以后下单前还是看仔细点好。

这里写图片描述

这里写图片描述

想来每次要登录自己的云系统,都要先登录腾讯云再访问云系统,这样会烦不胜烦,于是在偶然条件下得知,这个东西可以在自己的Windows系统上用[Xshell]
(https://www.netsarang.com/products/xsh_overview.html “XShell下载”)远程访问Linux,这再好不过了。

  • 首先,设置你的SSH密钥。

设置完之后,会提示你在10min之内把密钥下载下来

这里写图片描述

  • 将密钥绑定到你的服务器上。

会提示你关机后才能绑定

这里写图片描述

  • 开放安全组

    我的linux默认是不开放远程访问端口,查过资料之后,才知道这个得在安全组设置。如果大家不想后面在设置端口的话,可以使用“放通全部端口”,只不过这样会降低风险。本人是设置开放22端口,然后再编辑规则,开放后面mysql要用到的3306端口。

这里写图片描述

  • 安全组加入到云主机

这里写图片描述

  • Xshell 登陆设置IP和用户名

这里写图片描述

这里写图片描述

这里写图片描述

  • Xshell密钥登陆

    选择用户密钥->浏览->文件,将之前下载下来的SSH密钥导进来,之后点击确定,就可以远程连接linux了。

    这里写图片描述

这里写图片描述

更新apt-get

登录上linux后,可以使用以下命令来更新apt-get

sudo apt-get updatesudo apt-get upgrade

设置Linux Root密码

sudo passwd root

配置MySql

安装MySql

  • 开放端口

    这个在前面设置安全组的时候就用过了

  • 安装

sudo apt-get install mysql-server

安装的过程中会提示你为mysql设置密码(网络参考图片)

网络参考图片

安装完成后,可以使用以下命令尝试登录mysql

mysql -u root –p

登录上mysql 可以使用以下命令查看mysql版本

select version();

这里写图片描述

添加MySql用户

  • 添加用户
# 创建 beta1025用户,设置密码为 123456CREATE USER beta1025 IDENTIFIED BY '123456';# 授权GRANT ALL PRIVILEGES ON *.* TO 'beta1025'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;# 更新权限FLUSH PRIVILEGES;
  • 查看用户权限列表

使用该命令可以查看是否创建成功

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

这里写图片描述

MySQL远程访问

本人所知道的Mysql远程软件有Workbench和Navicat,在此使用Navicat进行说明。

MySql默认是供本地访问的,因此需要更改下配置。

  • 首先查看3306端口号
    默认显示127.0.0.1:3306,我们需要的是将它改为0.0.0.0:3306
netstat -an|grep 3306
  • 关闭MySql
service mysql stop
  • 切换到root用
su root
  • 修改MySql配置

使用以下命令打开mysqld.cnf.(/etc/mysql/mysql.conf.d/mysqld.cnf貌似是Ubuntu 16的新路径)

vim /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 127.0.0.1更改为bind-address = 0.0.0.0

保存退出

  • 启动MySql
service mysql start
  • 查看3306端口号

    这里写图片描述

  • Navicat远程连接

这里写图片描述

远程连接mysql后,尝试用sql语句插入带自增主键属性的表,在略过主键插入时,虽然成功插入数据,但是会提示:

[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

解决方法:

set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

参考

  • 用Xshell登录腾讯云Linux云服务器

  • 腾讯云 Ubuntu 安装并远程访问 MySQL

  • MYSQL5.7版本sql_mode=only_full_group_by问题

原创粉丝点击