网站用户行为分析——在Ubuntu下安装MySQL及其常用操作

时间:2021-11-15 17:13:09

安装MySQL

  使用以下命令即可进行mysql安装,注意安装前先更新一下软件源以获得最新版本:

  sudo apt-get update          #更新软件源
  sudo apt-get install mysql-server #安装mysql

      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作

  上述命令会安装以下包:
    apparmor
    mysql-client-5.7
    mysql-common
    mysql-server
    mysql-server-5.7
    mysql-server-core-5.7
  因此无需再安装mysql-client等。安装过程会提示设置mysql root用户的密码,设置完成后等待自动安装即可。默认安装完成就启动了mysql。

  我在安装MySQL的时候,通过终端输入命令就直接安装成功了,并没有提示初始化密码,考虑到后续操作可能会使用到密码,所以很有必要对密码进行确认,参考了网上的资料,解决了这个问题:

  博客中建议打开/etc/mysql/debian.cnf文件,在这个文件中有系统默认给我们分配的用户名和密码,通过这个密码就可以直接对MySQL进行操作了。在图形界面中找到了这个文件,但是显示文件是未知类型的,找不到合适的应用程序打开它。

  最后使用终端打开了这个文件,输入下面的命令:

  sudo vim /etc/mysql/debian.cnf

      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作

  可以看到这个文件中,已经给出了MySQL的默认用户名和密码,用户名不是root,而是而是debian-sys-maint,密码是:NxiAmT4Fc71G735e

  将用户名和密码记下,并将密码修改为方便记忆的。终端输入下面的命令:

  mysql -u debian-sys-maint -p 

  输入刚才的密码可以登录成功,接下来要修改密码。按照网上的资料,输入下面选中的命令进行修改,出现了一个ERROR。

      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作

  更换一个命令进行修改,出现Query OK,但是0 rows affected,怀疑密码没有修改成功。

      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作

  输入命令:update mysql.user set authentication_string=password('141164') where user='root'and Host = 'localhost';

      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作

  显示:Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1,密码修改成功。        

  启动和关闭mysql服务器:

  service mysql start
  service mysql stop
  

  确认是否启动成功,mysql节点处于LISTEN状态表示启动成功:

  sudo netstat -tap | grep mysql

  但是执行上面的命令,emmm:

      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作  

  百度搜索:ubuntu netstat 命令找不到,找不到什么相关的信息,按照相关搜索,搜索了netstat 命令找不到,出现一个CentOS找不到netstat的博文,成吧,CentOS也是Linux,试试看。

  博文中提示把net-tools包装上就能够解决问题,具体是通过命令:yum install net-tools,但是:

      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作

  乖乖按照提示,通过apt安装yum,目前为止,对apt的理解就是一个软件的安装工具。安装成功后,执行命令:yum install net-tools,提示需要以root身份执行此命令(突然发现自己对root理解还不够深刻,又百度了一下root的意思:root权限,系统权限的一种,也叫根权限,与SYSTEM权限可以理解成一个概念,但高于Administrator权限,root是Linux和unix系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作。获得root权限之后就意味着已经获得了系统的最高权限,这时候你可以对系统中的任何文件(包括系统文件)执行所有增、删、改、查的操作),然后执行sudo yum install net-tools,出现如下结果:
      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作  

  在解决这个问题之前,决定先了解一下什么是yum,度娘告诉我,yum的主要功能是更方便的添加/删除/更新RPM包,它能自动解决包的倚赖性问题,它能便于管理大量系统的更新问题,结合现在在安装MySQL后需要使用缺少的net-tools,大概emmm,对yum有了个认识?可是RPM又特么是啥,接着问度娘,度娘告诉我,RPM一种用于互联网下载包的打包及安装工具,所以yum就是用来管理下载包的打包及安装工具的(可以把yum想象成是一个硕大的软件仓库,里面保存有几乎所有常用的工具,而只需要说出所需的软件包名称,系统就会自动搞定一切。)。虽然还是不太懂,但是还是可以硬着头皮试试的,刚才提示没有已启用的仓库,那么接下来就尝试启用仓库。

  查了一中午资料,还是没能启用仓库,换个思路,其实启用仓库的目的就是通过yum安装netstat,现在换别的方法在Ubuntu上安装netstat:

  在Ubuntu Linux上安装netstat,apt-get其实是找不到netstat包的,需要用apt-get安装net-tools。net-tools是Linux平台NET-3网络分发包,包括arp、hostname、ifconfig、netstat、rarp、route、plipconfig、slattach、mii-tool、iptunnel和ipmaddr工具。

  通过右面的命令在Ubuntu上安装net-tools:apt-get install net-tools,安装成功。  再次执行sudo netstat -tap | grep mysql,确认启动成功。

      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作

  进入mysql shell界面:

  mysql -u root -p

  输入上面的命令后出现了下面的问题:

      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作

  其实在在输入密码这一步的时候,用命令sudo vim /etc/mysql/debian.cnf打开存放数据库密码的文件,发现密码并没有修改成功,就特么很懵逼,然后将文件中的旧密码拷贝到终端中登录,就出现了ERROR 1689(28000),参考网上的博文:

  1.使用sudo apt-get install mysql-server安装数据库,在安装的过程中未设置密码。

  2.在普通用户下使用命令mysql -uroot -p连接数据库,由于没有设置密码,从而导致了错误:ERROR 1698 (28000): Access denied for user 'root'@'localhost

  解决办法:在连接mysql数据库的时候,使用命令sudo mysql -uroot -p连接数据库,由于没有设置密码,所以在需要输入密码的时候,直接按Enter键。

  通过上面的操作,成功进入了shell界面,但是之前密码没有设置成功是一个问题。

      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作

  解决利用sqoop导入MySQL中文乱码的问题(可以插入中文,但不能用sqoop导入中文)导致导入时中文乱码的原因是character_set_server默认设置是latin1,如下图:

      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作

  可以单个设置修改编码方式set character_set_server=utf8;但是重启会失效,建议按以下方式修改编码方式。
  (1)编辑配置文件。sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
  (2)在[mysqld]下添加一行character_set_server=utf8。如下图:

      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作

  进入vim,下面是常用的插入方法

  字符位置插入:

  •  i    在光标之前插入
  •  a   在光标之后追加

  行位置插入:

  •  A  在一行的结尾处追加
  •  I   在一行的开头处插入
  •  o  在光标所在位置的下一行打开新行插入
  •  O  在光标所在位置的上一行打开新行插入

  本例中,具体的插入操作是,将光标移动到索要插入行的上一行,然后按小写字母o,它的下一行会自动后退一行,此时输入所要插入的文本,输入完毕后,按ESC,然后输入:wq,保存退出,插入完成。

  (3)重启MySQL服务:service mysql restart
  (4)登陆MySQL,并查看MySQL目前设置的编码:show variables like "char%";

  网站用户行为分析——在Ubuntu下安装MySQL及其常用操作


MySQL常用操作

  注意:MySQL中每个命令后都要以英文分号;结尾。

     每个命令都是“mysql>”开头,通过命令:sudo mysql -uroot -p,进入MySQL shell界面。  

      1、显示数据库
      mysql> show databases;
      MySql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。
      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作
      2、显示数据库中的表
      mysql> use mysql; (打开库,对每个库进行操作就要打开此库)
      Database changed
      mysql> show tables;
      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作

      3、显示数据表的结构:
      describe 表名;

      4、显示表中的记录:
      select * from 表名;
      例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。
      select * from user;

      5、建库:
      create database 库名;
      例如:创建一个名字位aaa的库
      mysql> create databases aaa;

      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作
      注意到这里创建数据库是使用create database而不是create databases。
      6、建表:
      use 库名;
      create table 表名 (字段设定列表);
      例如:在刚创建的aaa库中建立表person,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段
      use aaa;
      mysql> create table person (id int(3) auto_increment not null primary key, xm varchar(10),xb varchar(2),csny date);
      可以用describe命令察看刚建立的表结构。
      mysql> describe person;
      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作
 
      7、增加记录
      例如:增加几条相关纪录。
      mysql>insert into person values(null,'张三','男','1997-01-02');
      mysql>insert into person values(null,'李四','女','1996-12-02');
      因为在创建表时设置了id自增,因此无需插入id字段,用null代替即可。
      可用select命令来验证结果。
      mysql> select * from person;
      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作
 
      8、修改纪录
      例如:将张三的出生年月改为1971-01-10
      mysql> update person set csny='1971-01-10' where xm='张三';
 
      9、删除纪录
      例如:删除张三的纪录。
      mysql> delete from person where xm='张三';
      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作
 
      10、删库和删表
      drop database 库名;
      drop table 表名;
      
      11、查看mysql版本
      在mysql5.0中命令如下:
      show variables like ‘version’;
      或者:select version();
      网站用户行为分析——在Ubuntu下安装MySQL及其常用操作