今天在公司看到一个环境是用二进制格式包安装的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; 写入内存,立即生效。
更新用户密码:
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';
删完了以后再看下:
基本的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 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'); 多行插入
查询下刚刚插入的数据:
> 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 Name='tuchao';
清除表中Age为20的用户。
> delete from tb1 where Age=20;
实验题:
创建如下结构表:
插入如下数据:
要求:
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';
三、找出年龄大于或等于20的所有人:
> select * from uu where Age>=20;
四、 修改xiaohong的Course为redhat
> update uu set Course='C++' where Name='xiaohong'
五、清除年龄小于20的所有人
> delete from uu where Age<20;
六、授权给testuser用户对testdb库所有访问权限
> create user 'testuser'@'192.168.1.%' identified by '123456';
> grant all on testdb.* to 'testuser'@'192.168.1.%';
写了好久好久啊,终于完了。
有问题欢迎与我交流QQ:1183710107
本文转自qw87112 51CTO博客,原文链接:http://blog.51cto.com/tchuairen/1422258