下载mysql服务端与客户端:mysql-server 和 mysql-client
启动mysql:service mysql start
或者 /etc/init.d/mysql start
为用户添加用户名和密码(新用户):
mysqladmin -u ADMIN(用户名) password 'PASSWD'(密码)
配置文件:/etc/mysql/my.cnf
数据存储目录:/etc/lib/mysql/* 其中information_schema,mysql,performance_schema为服务自带的数 据库,不要乱碰。
日志文件:/var/log/mysqld.log
注意:mysql 的sql 语言一般用英文大写,其实小写该服务也可以识别。
一般的sql语言:
SHOW DATABASES; :展示所用的数据库
CREATE DATABASE DB; :新建一个数据库
DROP DATABASE DB; :删除一个数据库
SELECT VERSION(); : 打印系统版本发行号
SELECT 运算;:运算
USE DB; :使用一个数据库
数据库中的TABLE的建立:
CREATE TABLE TAB(
VAR integer(si0ze)/int(size)/samllint(size)/tinyint(size), 存储整数数据,默认为11
VAR decimal(size.d)/numeric(size.d), 存储浮点数数据
VAR char(size), 存储一定长度的字符串
VAR varchar(size), 存储可变长度的字符串,长大长度为size
VAR date(yyymmdd), 存储日期
);
显示一个数据库表格:DESCRIBE(或者)DESC TAB;
删除一个数据库表格:DROP TABLE TAB;
对于表格的修改:
ALTER TABLE TAB RENAME NEW_TAB; 重命名一个数据表格
ALTER TABLE TAB ADD NEW_VAR VAR_TYPE; 为数据表格添加新变量
ALTER TABLE TAB DROP COLUMN VAR; 删除一个数据表格的变量
ALTER TABLE TAB MODIFY VAR VAR_TYPE; 修改一个数据表格变量的变量类型
ALTER TABLE TAB CHANGE COLUMN VAR NEW_VAR VAR_TYPE; 修改一个数据表格的变量
为数据表格的变量追加数据:
INSERT INTO TAB VALUES(val1,val2...);或
INSERT INTO TAB (col1,col2...) VALUES(val1,val2...); 为表中各列元素增添值
UPDATE TAB SET COL=NEW_VALUES WHERE $COL=$VAL; 在$COL=$VAL的那行的COL元素修改为新值
DELETE [COL1,COL2...] FROM TAB WHERE 列运算; 删除符合列运算的信息
DELETE * FROM TAB; 删除该表格的全部信息
查看数据表格的各行信息:
SELECT [DISTINCT] COL1,COL2... FROM TAB; 查看各行的COL1,COL2...的信息
SELECT * FROM TAB; 查看各行的信息
SELECT COL1,COL2... FROM TAB WHERE 列运算; 查看符合列运算的哪些行的COL1,COL2...的信息
SELECT * FROM TAB WHERE conditon1 AND condition2; 查看符合条件1和条件2的各行信息
SELECT * FROM TAB WHERE conditon1 OR condition2; 查看符合条件1或条件2的各行信息
SELECT * FROM TAB ORDER BY COL; 以COL的值排序来显示各行的信息
SELECT * FROM TAB ORDER BY COL DESC; 以COL的值逆序来显示各行的信息
MySQL的用户管理
CREATE USER USERNAME IDENTIFIED BY 'PASSWORD'; 添加账户和该账户的密码
DROP USER USERNAME; 删除账户
RENAME USER USERNAME TO NEW_USERNAME; 重命名账户
SET PASSWORD=PASSWORD('NEW_PASSWORD'); 修改账户密码
SET PASSWORD FOR USERNAME =PASSWORD('NEW_PASSWORD'); 为账户修改密码
权限管理: 通过GRANT授予权限,REVOKE撤销权限
GRANT ALL PRIVILEGES ON 层级 TO 'USERNAME'@'HOST' IDENTIFIED BY 'PASSWORD';
层级: *.* -> 第一个表示DATABASE层级
第二个表示全局层级
第三个表示TABLE层级
*.*表示所有数据库的所有表
HOST: %表示所有主机
可以是精确的主机名或地址 如192.168.10.124
可以是使用通配符 如*.linuxcast.net
REVOKE ALL PRIVILEGES FROM USERNAME; 撤销用户的所有权限
数据库备份 (在bash命令行上使用)
mysqldump -u USERNAME -p DBNAME > 备份文件名.sql 备份数据库
mysql -u USERNAME -P DBNAME < 备份文件名.sql 载入备份文件
数据库编码
SHOW CHARACTER SET; 显示所有编码
SHOW VARIABLES LIKE 'character_set%'; 显示character编码的变量
SHOW VARIABLES LIKE 'collation%'; 显示collation编码的变量
ALTER DATABASE DBNAME CHARACTER SET utf8 COLLATE utf8-general-ci;
更改数据库编码character_set为utf8,collation为utf8-general-ci;
[修改配置文件my.cnf]
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
init-connect='SET NAMES utf8'
collation-server=utf8-unicode-ci
character-set-server=utf8