今天在公司看到一个环境是用二进制格式包安装的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/*
# cd support-files/
# ls
这里面的文件都是样例
# 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
初始化完成,这样数据文件夹就有默认的数据文件了。
添加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字段。
> create user ‘wpuser’@’192.168.1.%’ identified by ‘wppass’;创建用户
%:匹配任意长度的任意字符;_: 匹配任意单个字符;
> flush privileges;写入内存,立即生效。
授权语法:
> 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’;
删完了以后再看下:
基本的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;显示表结构
> show indexes from students;查看键
再创建一个表:
> 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
清除表:
> drop table students;
插入数据:
> insert intotb1(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’);多行插入
查询下刚刚插入的数据:
> select * from tb1;查询表所有字段数据
> select ID,Name from tb1;选择字段显示
使用查询别名:
> select ID,Name as ‘student_name’,Course from tb1;
表达式查询:
> select ID,Name,Age from tb1 where Age is null;
通配查询:
> select * from tb1 where name like ‘t%’;
包含查询:
现在我们要查询表中Age 19和20的数据。
> select ID,Name,Age,Course from tb1 where Age in (19,20);
RLIKE 正则表达式书写模式:
查询tb1表中Name字段,包含了字符u的行。
> select * from tb1 where Name rlike ‘.*u.*’;
查询tb1表中Name字段,以fzT字符开头的行。
> select * from tb1 where Name rlike ‘^[fzT]’;
修改数据:
把tb1表中Name字段tuchao的年龄改为20
> update tb1 set Age=20 where;
清除表中Age为20的用户。
> delete from tb1 where Age=20;
实验题:
创建如下结构表:
插入如下数据:
要求:
1、创建此表,插入数据
2、找出性别为女性的所有人;
3、找出年龄大于或等于20的所有人;
4、修改xiaohong的Course为redhat;
5、清除年龄小于20的所有人;
6、授权给testuser用户对testdb库所有访问权限;
一、创建此表,插入数据;
生命不在长而在于好,只要每一次尽力的演示,都值得鼓励与喝采。