评论

收藏

[MySQL] 使用二进制格式包安装Mysql以及基本SQL语句的应用。

数据库 数据库 发布于:2021-07-04 10:00 | 阅读数:392 | 评论:0

  今天在公司看到一个环境是用二进制格式包安装的mysql,下面我们也来试试看,如何用二进制格式包安装mysql,然后基本的操作mysql。
  首先解压:
  # tar -zxvf mysql-5.5.33-linux2.6-i686.tar.gz  -C /usr/local/
  # cd /usr/local
  # ln -sv mysql-5.5.33-linux2.6-i686/ mysql
  修改文件属组:
  # chown root:mysql mysql/*
DSC0000.jpg # cd support-files/

  # ls
  这里面的文件都是样例
DSC0001.jpg

  # cp my-large.cnf /etc/my.cnf    配置文件
  # cp mysql.server  /etc/init.d/mysqld    服务脚本文件
  加入service 管理,设置开机启动。
  # chkconfig --add mysqld
  # chkconfig --list mysqld
  执行初始化脚本:
  rm -rf data/*
  # ./scripts/mysql_install_db --help
  # ./scripts/mysql_install_db --user=mysql --datadir=/mydata/data
DSC0002.jpg

  初始化完成,这样数据文件夹就有默认的数据文件了。
DSC0003.jpg

  添加PATH环境变量:
  # vim /etc/profile.d/mysql.sh
  export PATH=/usr/local/mysql/bin:$PATH
  # . /etc/profile.d/mysql.sh
  链接头文件:
  # ln -sv /usr/local/mysql/include/ /usr/include/mysql
  导出库文件:
  # vim /etc/ld.so.conf.d/mysql.conf
  /usr/local/mysql/lib
  # ldconfig -v | grep mysql
  启动Mysql
  # service mysqld start
  进入mysql交互模式:
  # mysql
  > select version();    显示mysql版本
  > show databases;    显示所有数据库
  > show [global | session] variables;    显示服务器参数变量,有些变量的值可以修改,能够改变mysql的工作特性。
  > show [global | session] status;    显示服务器状态变量,记录了当前包括过去的时间内mysql的运行统计数据。
  > use mysql    设置默认数据库
  > select user,host,password from user;    查询user表中的,user,host,password字段。
DSC0004.jpg

  > create user 'wpuser'@'192.168.1.%' identified by 'wppass';    创建用户
  %:匹配任意长度的任意字符;
                      _ : 匹配任意单个字符;
  > flush privileges;    写入内存,立即生效。
  

  更新用户密码:
  set password = password('123456');
  

  授权语法:
  > grant all privileges on dbname.tablename to 'username'@'host' [identified by 'password'];
  > grant all privileges on wpdb.* to 'wpuser'@'192.168.1.%';    授权wpdb给wpuser。
  修改用户密码:
  第一种方法:
  > set password for 'wpuser'@'192.168.1.%'=password('redhat');
  第二种方法:
  # mysqladmin -uroot -p password 'mypass'
  清除用户:
  > drop user 'wpuser'@'192.168.1.%'
  > drop user 'root'@'::1';
  > drop user ''@'localhost';
  > drop user ''@'localhost.localdomain';
DSC0005.jpg

  删完了以后再看下:
DSC0006.jpg

  基本的SQL语句:
  创建表:
  > create database testdb;
  > use testdb;
  > create table students (name char(30) not null primary key,id tinyint unsigned ,Age tinyint unsigned,class varchar(20) not null);
  > show tables;    显示表
  > desc students;    显示表结构
DSC0007.jpg

  > show indexes from students;    查看键
DSC0008.jpg

  再创建一个表:
  > create table tb1 (ID tinyint unsigned not null primary key auto_increment,Name char(30) not null unique key , Age tinyint unsigned, Gender char(1) default 'M' , Course varchar(50) not null);
  显示下结构:
  >desc tb1
DSC0009.jpg

  清除表:
  > drop table students;
DSC00010.jpg

  插入数据:
  > insert into tb1(ID,Name,Age,Course) values (1,'Jerry',15,'English');
  > insert into tb1 values (2,'Tom',15,'English');
  > insert into tb1 (name,Course) values ('tuchao','computer'),('tyz','ssh');    多行插入
DSC00011.jpg

  查询下刚刚插入的数据:
  > select * from tb1;    查询表所有字段数据
  > select ID,Name from tb1;    选择字段显示
DSC00012.jpg

  使用查询别名:
  > select ID,Name as 'student_name',Course from tb1;
DSC00013.jpg

  表达式查询:
  > select ID,Name,Age from tb1 where Age is null;
DSC00014.jpg

  通配查询:
  > select * from tb1 where name like 't%';
DSC00015.jpg

  包含查询:
  现在我们要查询表中Age 19和20的数据。
  > select ID,Name,Age,Course from tb1 where Age in (19,20);
DSC00016.jpg

  RLIKE 正则表达式书写模式:
  查询tb1表中Name字段,包含了字符u的行。
  > select * from tb1 where Name rlike '.*u.*';
DSC00017.jpg

  查询tb1表中Name字段,以fzT字符开头的行。
  > select * from tb1 where Name rlike '^[fzT]';
DSC00018.jpg

  修改数据:
  把tb1表中Name字段tuchao的年龄改为20
  > update tb1 set Age=20 where Name='tuchao';
DSC00019.jpg

  清除表中Age为20的用户。
  > delete from tb1 where Age=20;
DSC00020.jpg

  实验题:
  创建如下结构表:
DSC00021.jpg

  插入如下数据:
DSC00022.jpg

  要求:
  1、创建此表,插入数据
  2、找出性别为女性的所有人;
  3、找出年龄大于或等于20的所有人;
  4、修改xiaohong的Course为redhat;
  5、清除年龄小于20的所有人;
  6、授权给testuser用户对testdb库所有访问权限;
  一、创建此表,插入数据;
  > create table uu (ID tinyint unsigned not null primary key auto_increment,Name char(20) not null unique key ,Age tinyint unsigned not null ,Gender char(5) default 'Man',Course varchar(50) not null);
  > insert into uu values (1,'tuchao',20,'Man','Computer'),(2,'fangchao',19,'Man','Computer'),(3,'jerry',12,'Man','study'),(4,'Bob',16,'Man','English'),(5,'xiaohong',23,'Woman','C++'),(6,'minli',20,'Woman','CCNP'),(7,'zhangxue',15,'Woman','Java');
  二、找出性别为女性的所有人:
  > select * from uu where Gender='Woman';
DSC00023.jpg

  三、找出年龄大于或等于20的所有人:
  > select * from uu where Age>=20;
DSC00024.jpg

  四、 修改xiaohong的Course为redhat
  > update uu set Course='C++' where Name='xiaohong'
DSC00025.jpg

  五、清除年龄小于20的所有人
  > delete from uu where Age<20;
DSC00026.jpg

  六、授权给testuser用户对testdb库所有访问权限
  > create user 'testuser'@'192.168.1.%' identified by '123456';
  > grant all on testdb.* to 'testuser'@'192.168.1.%';
  

  写了好久好久啊,终于完了。
  有问题欢迎与我交流QQ:1183710107

  
关注下面的标签,发现更多相似文章