yum list | grep mysql //查看安装包
yum install -y mysql-server mysql mysql-devel //安装
rpm -qi mysql-server //查看安装的版本
/
service mysqld start //启动,第一次启动会进行初始化
mysqladmin -u root password 'mysql' //给root设置密码
mysql -u root -p //登陆
quit //退出
chkconfig mysqld on //设置开机启动
vim /etc/my.cnf //查看配置文件
cd /var/lib/mysql/ //保存数据文件的位置
vim /var/log/mysqld.log //查看日志文件
mysql -h [ ip | localhost ] -u root -p //连接 [ 远程 | 本地 ] 的mysql
//
SELECT HOST,USER FROM mysql.user; //查看mysql的用户
SELECT user(); 查看当前登录的用户:
///
CREATE USER 用户名 IDENTIFIED BY '密码'; //创建一个用户
举例:
CREATE USER wang IDENTFIED BY 'wang'; //创建一个用户,但还不能登陆。因为没有设置权限
///
DROP USER 用户名; //删除一个用户
举例:
DROP USER wang;
///
RENAME USER 旧用户名 TO 新用户名; //用户重命名
举例:
RENAME USER wang TO jian;
SET PASSWORD = PASSWORD('新密码'); //修改当前用户密码
SET PASSWORD FOR 用户名 = PASSWORD('新密码'); //修改指定用户密码
//
MYSQL权限系统:
1.检查用户是否能够连接
2.检查用户是否具有所执行动作的权限
mysql授予权限可分为以下几个层级:
1.全局层级
2.数据库层级
3.表层级
4.列层级
5.子程序层级
mysql通过 GRANT 授予权限 , REVOKE 撤销权限
授予用户权限:
GRANT ALL PRIVILEGES ON 层级 to 用户名@主机 IDENTFIED BY '密码';
举例:
授予wang用户全局级全部权限:
GRANT ALL PRIVILEGES ON *.* to 'wang'@'%' IDENTFIED BY 'wang';
授予wang用户针对xsgl数据库全部权限:
GRANT ALL PRIVILEGES ON xsgl.* to 'wang'@'%' IDENTFIED BY 'wang';
删除一个用户权限:
REVOKE ALL PRIVILEGES FROM 用户名;
举例:
撤销wang用户的全部权限:
REVOKE ALL PRIVILEGES FROM wang;
MYSQL连接认证:
GRANT ALL PRIVILEGES ON *.* to 'wang'@'%' IDENTTIFIED BY 'wang';
| | |
用户名 主机 密码
这里的主机是指允许从那些主机进行连接,可以使用如下形式:
1.所有主机: %
2.精确的主机名或IP地址: www.wang.com 或 192.168.1.1
3.使用“*”通配符: *.wang.com
4.指定一个网段: 192.168.1.0/255.255.255.0
SELECT VERSION(); //查询服务器版本
SELECT CURRENT_DATE; //当前时间
SELECT VERSION(),CURRENT_DATE; //联查
SELECT 4*4; //计算
SHOW DATABASES; //查看当前所有数据库
CREATE DATABASES xsg; //创建数据库
DROP DATABASE xsgl; //删除数据库
USE xsgl; //切换当前数据库
SHOW TABLES; //查看当前数据库中的表
SELECT * FROM student; //查表
数据类型:
integer(size), int(size), smalint(size), tinyint(size) //存储整数数据
decimal(size,d), numeric(size,d) //存储浮点数据
char(size) //存储固定长度字符串
varchar(size) //存储可变长度字符串
date(yyyymmdd) //存储日期
/
CREATE TABLE table_name //创建一个表
(
列名称1 数据类型,
列名称2 数据类型,
.....
);
举例:
CREATE TABLE course(
id int,
course_name varchar(50),
course_length int(10),
teacher varchar(50),
category varchar(50)
);
[ DESCRIBE | DESC ] course; //显示表的结构
DROP TABLE course; //删除表
ALTER TABLE course RENAME ic_course; //修改表名
ALTER TABLE course ADD link varchar(100); //向表中添加新的列
ALTER TABLE course DROP COLUMN link; //删除一个列
ALTER TABLE course MODIFY teacher varchar(100); //修改一个列的数据类型
ALTER TABLE course CHANGE COLUMN teacher lecture varchar(50); //重命名一个列
/
插入
INSERT INTO table_name VALUES(值1,值2,....); //向表中插入一条记录
或:
INSERT INTO table_name(列1,列2) VALUES (值1,值2); //指定列插入
举例:
INSERT INTO course VALUES(1,'C++',32,'wang','Basic'); //全部列插入
INSERT INTO course(id,course_name,category) VALUES(2,'MATH','Basic'); //指定列插入
/
查询
SELECT 列名称 FROM table_name WHERE 列 运算符 值;
举例:
SELECT * FROM course; //显示表中的全部数据
SELECT course_name,lecture FROM course; //显示表中的指定数据
SELECT * FROM course WHERE id = 1; //显示指定列值的数据
//
运算符 功能
= 等于
<> 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某范围内
LIKE 搜索某种模式
/
删除
DELETE FROM tabel_name WHERE 列=值; //删除某条记录
或:
DELETE * FROM table_name; //删除表中的所有数据
举例:
DELETE FROM course WHERE id = 1;
//
更新某条记录的某个属性值
UPDATE table_name SET 列名称 = 新值 WHERE 列=值;
举例:
UPDATE course SET lecture = 'jian' WHERE id = 1;
删除返回结果的重复项:
SELECT DISTINCT 列名称 FROM table_name;
举例:
SELECT DISTINCT lecture FROM course;
//
WHERE 条件中使用逻辑组合:
SELECT * FROM 表名称 WHERE 条件1 AND 条件2;
SELECT * FROM 表名称 WHERE 条件1 OR 条件2;
举例:
SELECT * FROM course WHERE lecture = 'wang' AND category = 'Adv';
///
对查询结果按指定列进行排序:
SELECT * FROM 表名称 ORDER BY 列名称; //升序
SELECT * FROM 表名称 ORDER BY 列名称 DESC; //降序
举例:
SELECT * FROM course ORDER BY course_length;
SELECT * FROM course ORDER BY course_lenght DESC;
///
MYSQL简单的备份恢复:
备份:
mysqldump -u root -p 数据库名称 > 备份文件.sql;
举例:
mysqldump -u root -p xsgl > xsgl_db.sql;
恢复:
mysql -u root -p 数据库名称 < 备份文件.sql;
举例:
mysql -u root -p xsgl < xsgl_db.sql;
//
MYSQL数据库字符编码设置:
latin,Big5,GB2312,UTF8
编码影响两个方面:
1.数据库保存相同的内容所占的空间大小
2.数据库与客户端通信
MYSQL数据库的默认编码是:
character set : latin1
collation : latin1_swedish_ci
可以通过以下命令查看MYSQL支持的编码:
SHOW CHARACTER SET;
查看mysql当前使用的编码:
SHOW VARIABLES LIKE 'charater_set%';
SHOW VARIABLES LIKE 'collation%';
创建数据库的时候可以使用以下命令指定编码:
CREATE DATABASE xsgl
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
也可以通过一下命令修改一个数据库的编码:
或者可以通过修改MYSQL配置文件my.cnf设置mysql默认编码:
/etc/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
charater-set-server = utf8
修改之后重启mysql服务;