欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-29 10:42:19
安装MySQL 使用以下命令即可进行mysql安装,注意安装前先更新一下软件源以获得最新版本: 上述命令会安装以下包: apparmor mysql-client-5.7 mysql-common mysql-server mysql-server-5.7 mysql-server-core-5.7 ......

安装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及其常用操作