Mysql、Mariadb安装和使用

  • Post author:
  • Post category:mysql


  • 安装
yum list all |grep mysql  //查询可安装mysql包
yum install mysql mysql-server  //mysql 安装分为客户端和服务器端

mysql监听于3306端口
  • 常用命令
客户端程序:
mysql
mysqldunmp:备份工具
mysqladmin:基于mysql协议管理mysqld
mysqlimport:数据导入工具

服务器端程序:
mysql_safe
mysqld
mysql_multi 多实例

mysql用户账户由两部分组成:'USERNAME '@'HOST'
HOST限制此用户可以通过哪些远程主机连接mysql服务器
支持通配符:%匹配任意长度的任意字符,_匹配任意单个字符


客户端命令:
\h :帮助
\u : 用户
\s :状态
\! :调用linux系统命令

mysql客户端可用选项:
    -A --no-auto-rehash 禁用补全
    -u --user 用户名,默认为root
    -h --host 服务器主机,默认为localhost
    -p --password  用户密码
    -P(大写) --port 服务器端口
    -S --socket 指定连接socket文件路径
    -D --database 指定默认数据库
    -C --compress 启用压缩
    -e 'SQL' 执行SQL命令
    -V 显示版本
    -v 显示详细信息
    --print-defaults 获取程序默认使用的配置
  • 配置文件

    socket文件路径:
    /var/lib/mysql/mysql.sock
    
    配置文件路径:
    cd /etc/my.cnf.d/
    -rw-r--r--. 1 root root 295 4月  26 2019 client.cnf
    -rw-r--r--. 1 root root 232 4月  26 2019 mysql-clients.cnf
    -rw-r--r--. 1 root root 744 4月  26 2019 server.cnf
    
    etc/mysql/my.cnf
    
    vim /etc/my.cnf
    [mysqld]
    skip-networking=1   // 关闭网络连接,只侦听本地客户端, 所有和服务器的交互都通过一个socket实
    现, socket的配置存放在/var/lib/mysql/mysql.sock) 可在/etc/my.cnf修改

  • 安全性
mysql_secure_installation
设置数据库管理员root口令
禁止root远程登录
删除anonymous用户账号
删除test数据库
  • 编译安装方式
1、安装包
yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boostdevel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssldevel libevent-devel libaio-devel
2、做准备用户和数据目录
useradd –r –s /sbin/nologin –d /data/mysql/ mysql
mkdir /data/mysql
chown mysql.mysql /data/mysql
tar xvf mariadb-10.2.18.tar.gz
3、cmake 编译安装
cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在
另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影
响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译
编译选项:https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
4、准备环境变量
echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
5、生成数据库文件
cd /app/mysql/
scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
6、准备配置文件
cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf
7、准备启动脚本
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
8、启动服务
chkconfig --add mysqld ;service mysqld start
  • 关系型数据库的常用组件
数据库:database
表:table
    行:row
    列:column
索引:index
视图:view
用户:user
权限:privilege
存储过程:procedure
存储函数:function
触发器:trigger
事件调度器:event scheduler 

SQL语句分类:
1、DDL数据定义语言
    CREATE,DROP,ALTER
2、DML数据操纵语言
    INSERT,DELETE,UPDATE
3、DCL数据控制语言
    GRANT,REVOKE,COMMIT,ROLLBACK
4、DQL数据查询语言
    SELECT

数据库操作:
1、创建数据库:
    CREATE DATABASE|SCHEMA [IF NOT EXISTS] 'DB_NAME';
2、修改数据库:
    ALTER DATABASE DB_NAME character set UTF8;
3、删除数据库:
    DROP DATABASE|SCHEMA [IF NOT EXISTS] 'DB_NAME';
4、查看支持所有字符集:
    SHOW CHARACTER SET;
5、查看支持所有排序规则:
    SHOW COLLATION;
6、获取命令使用帮助:
    mysql> HELP KEYWORD;
7、查看数据库列表:
    SHOW DATABASES;


表:
1、创建表:
    CREATE TABLE [IF NOT EXISTS] ‘tbl_name’    
2、查看所有的引擎: 
    SHOW ENGINES
3、查看表: 
    SHOW TABLES [FROM db_name]
4、查看表结构: 
    DESC [db_name.]tb_name
    SHOW COLUMNS FROM [db_name.]tb_name
5、删除表: 
    DROP TABLE [IF EXISTS] tb_name
6、查看表创建命令: 
    SHOW CREATE TABLE tbl_name
7、查看表状态: 
    SHOW TABLE STATUS LIKE 'tbl_name’
8、查看库中所有表状态: 
    SHOW TABLE STATUS FROM db_name
  • 修饰符

    所有类型:
    • NULL 数据列可包含NULL值
    • NOT NULL 数据列不允许包含NULL值
    • DEFAULT 默认值
    • PRIMARY KEY 主键
    • UNIQUE KEY 唯一键
    • CHARACTER SET name 指定一个字符集
    数值型
    • AUTO_INCREMENT 自动递增,适用于整数类型
    • UNSIGNED 无符号



版权声明:本文为m0_37890520原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。