lizh 发表于 2018-10-10 06:32:55

Linux下MySQL基础使用命令

  www.mysql.com 官方网站
  communlty server 社区版免费的
  显示系统自带的mysql包
  yum list | grep mysql
  安装mysql:
  yum install -y mysql-server mysql mysql-devel
  看按的版本:
  rpm -qi mysql-server
  初始化:
  service mysqld start    /restart
  设置密码:
  mysqladmin -u root password '密码'
  开机启动:
  chkconfig mysqld on
  配置文件:/etc/my.cnf
  数据文件:/var/lib/mysql/
  日志文件:/var/log/
  mysald.log 日志
  远程连接端口:tcp 3306
  登陆MySQL      mysql (-h 192.168.0.1) -u root -p
  查看MySQL版本    SELECT VERSION();
  查看系统日期   SELECT CURRENT_DATE;
  同时查看系统版本和系统日期
  SELECT VERSION(),CURRENT_DATE;
  简单计算         SELECT 4*4;
  SELECT 4+4;
  查看已有数据库   SHOW DATABASES;
  创建数据库       CREARE DATABASES 数据库名;
  删除数据库       DROP DATABASES 数据库名;
  使用数据库       USE 数据库名;
  SQL语言基础
  SELECTUPDATE DELETE INSERT WHERE
  显示表格里的所有数据      SELECT *FROM 表名;
  创建数据库         CREARE DATABASE 数据库名;
  删除数据库         DROP DATABASE 数据库名;
  每一列是一个属性;
  每一行是一条记录;
  数据类型
  integer(size),int(size),smallint(size),tinyint(size)                  存储整数数据
  decima(size,d),numeric(size,d)存储浮点数数据
  char(sie)         存储固定长度字符串
  varchar(size)       存储可变长度字符串
  date (yyyymmdd)   存储日期
  创建表格
  CREARE TABLE 表名称(列名称1 数据类型,
  列名称2 数据类型,
  列名称3 数据类型
  );
  显示所有表格   SHOW TABLES;
  显示表的结构    DESCRIBE 表名;
  删除一个表格    DROP TABLE 表名;
  重命名表名
  ALTER TABSE 表名 RENAME 新表名;
  向表中添加一列
  ALTER TABLE 表名 ADD 列名称 列数据类型;
  删除表中一列
  ALTER TABLE 表名 DROP COLUMN 列名;
  修改一个列的数据类型
  ALTER TABLE 表名 MODIFY 列名 列数据类型;
  重命名一个列
  ALTER TABLE 表名 CHANGE COLUMN 列名 新列名 新列数据类型;
  向表格中插入一条记录
  INSERT INTO 表名 VALUES (值1,值2,....);
  或
  INSERT INTO 表名(列1,列2) VALUES (值1,值2);
  从表格中查询记录
  SELECT 列名称1,列明称2... FROM 表明称;
  或
  SELECT * FROM 表明称;
  从表格中按条件查询一条记录
  SELECT 列名称 FROM 表名 WHERE 列 运算符 值;
  从表格中删除一条记录
  DELETE FROM 表名称 WHERE 列 运算符 值;
  或
  DELERE * FROM 表名称;
  更新一条记录
  UPDATE 表名称 SET 列名称=新值 WHERE 列=值;
  删除返回结果重复项
  SELECT DISTINCT 列名称 FROM 表名称;
  where条件中使用逻辑组合
  SELECT *FROM 表名称 WHERE 条件1 AND 条件2;
  SELECT *FROM 表名称 WHERE 条件1 OR 条件2;
  对查询结果按指定列进行排序
  SELECT * FROM 表名称 ORDER BY 列名称;
  SELECT * FROM 表名称 ORDER BY 列名称 DESC;
  MYSQL用户管理
  默认只有一个root用户
  默认保存在user表中
  创建新用户:

  CREATE USER 用户名>  直接创建后不能直接登陆,因为没有设置权限。
  删除用户:
  DROP USER 用户名;
  重命名用户名:
  RENAME USER 原用户名 TO 新用户名;
  修改当前用户密码:
  SET PASSWORD=PASSWORD('新密码');
  修改指定用户密码:
  SET PASSWORD FOR 用户名=PASSWORD('新密码');
  mysql 权限系统
  权限控制两个阶段
  1 检查用户是否能够链接;
  2 检查用户是否具有所有执行动作的权限;
  授予一个用户权限:

  GRANT ALL PRIVILEGES ON 层级to 用户名@主机>  eg:
  授予nash_su用户全局级全部权限
  GRANT ALL PRIVILEGES ON *.* to 'nash_su'@'%'IDENTIFIED BY 'linuxcase';
  授予nash_su用户针对linuxcast数据库全部权限。
  GRANT ALL PRIVILEGES ON linuxcase.* to 'nash_su'@'%'IDENTIFIED BY 'linuxcase';
  撤销一个用户权限:
  REVOKE ALL PRIVILEGES FROM 用户名;
  %主机   %是不限制是哪个主机的访问;
  可以使ip地址或者主机名;
  使用“*”通配符
  可以指定网段;
  可以设lockhost;本地连接;
  root远程登陆也需要上边的提权;不建议打开;
  MYSQL简单的备份和恢复
  最为广泛的备份恢复工具mysqldump
  备份一个指定数据库:
  mysqldump -u root -p 数据库名称 > 备份文件.sql
  备份出来的是纯文本的sql文件,可以修改后作为其他数据库数据使用。
  从备份的SQL文件恢复一个指定数据库:
  mysqldump -u root -p 数据库名称 < 备份文件.sql
  数据库编码设置
  编码主要影响以下两个方面:
  1、数据库保存相同内容所占用的空间大小;
  2、数据库与客户端通信;
  显示系统的编码设置:
  SHOW CHARACTER SET;
  SHOW VARIABLES LIKE 'character_set%';
  SHOW VARIABLES LIKE 'collation%';
  创建数据库的时候可以使用命令指定编码:
  CREATE DATABASEA linuxcase
  DEFAULT CHARACTER SET utf8
  DEFAULT COLLATE utf8_general_cl;
  也可以修改一个数据库的编码:
  ALTER DATABASE linuxcase CHARACTER SET utf8 COLLATEU utf8_general_cl;
  设置默认编码
  /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'
  character-set-server=utf8
  修改之后重启MySQL服务,通过下边的命令查看默认编码:
  SHOW VARIABLES LIKE 'character_set%';

页: [1]
查看完整版本: Linux下MySQL基础使用命令