本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/100969
yum安装
1、yum install mysql-server
/var/lib/mysql 用户存放的位置
2、chkconfig –list mysqld 查看是否启动
3、chkconfig mysqld on 设置为开机启动
4、ss -ntl;service mysqld start 开启服务 端口号为3306
/!可以执行linux系统
show databases; 查看数据列表
use mysql 进入数据库
quit退出
drop table 删除表
drop database删数据库
二进制安装
首先一定要确认系统没有安装
rpm -q mariadb-server 检查
rpm -q mysql-server 检查
ss -ntl 查看端口
把二进制文件考进来 rz
getent passwd mysql 查看有没有mysql用户
useradd -r -d /data/mysqldb -s /sbin/nologin mysql创建用户
getent passwd mysql检查
id mysql 检查
tar xvf mariadb -10. -C(指定安装在哪儿)/usr/local/
ls /usr/local/
ln -s mariadb -10 / mysql 创建软连接
chown -R root:root mysql/ 把所有者所属组都改为root
echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/mysql.sh 放到bash
echo $PATH
加硬盘
lsblk
echo‘- – -’ > /sys/class/scsi_host/host2/scan 扫描出硬盘
pvcreate /dev/sdb
pvdislay
cgcreate vg0 /dev/sdb
lvcreate -n lv_mysql -l 100%FREE vg0
lvs 查看
mkfs.xfs /dev/vg0/lv_mysql 格式化一下
blkid查看
mkdir /data/ 创建文件夹
vim /etc/fstab写文件
:r!blkid /dev/vg0/lv_mysql 写UUID 挂在到/data/
mount -a
df -h
mkdir /data/mysqldb
ll -d /data/mysqldb
chown mysql.mysql /data/mysqldb
chmod 770 /data/mysqldb
创建数据库
cd mysaql/
pwd usr /local/mysql
cd scripts/
scripts/mysql_install_db –datadir=/data/mysqldb –user=mysql
ok没问题
ls support-files/
cp /etc/my.cnf{,.bak}备份
cp support-files/my-huge.cnf /etc/my.cnf
配置数据库
vim /etc/my.cnf
socket =/usr/local/mysaq/mysaql.sock
datadir =/data/mysqldb
/usr/local/mysaq/mysaql.sock
启动数据库
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig –list
chkconfig –add mysqld
service mysqld start
setfacl -R -m u:mysql:rwx /usr/local/mysql/
mysql_secure_insatallation
mysql_secure_installation 跑一遍安全脚本
SQL语句
/*注释内容*/ 多行注释
— 注释内容 单行注释,注意有空格
MySQL注释:#
select user,host,password from user;-xxx查询用户账号
(每个数据库存放相同的资源 不能出现出现相同的名字)
SQL语句分类
SQL语句分类:
DDL: Data Defination Language
CREATE, DROP, ALTER
DML: Data Manipulation Language :数据操作
INSERT, DELETE, UPDATE 增,删,改
DCL:Data Control Language :数据控制语言
GRANT, REVOKE 授权,撤销权限
DQL:Data Query Language :数据查询语言
SELECT 查询
create database db1;创建数据库 可以加[IF NOT EXTISTS]如果存在
CHAACTER SET ‘character set name’字符集
COLLATE ‘collate name’ 排序
DROP DATABASE 删除数据库
/! Linun 命令
show databases; 查看数据库列表
use db1 指定数据库
primary key 主见
show tables; 查看表
desc students; 查看表结构
show table status like ‘students’\G 以竖行查看表的状态信息
select * from stydents; 查看表内容
update
select 查询
create table students (id tinyint unsigned not null primary key ,name char(10) not null,phone char(11),sex char(1) ); 创建一个学生表
查看所有的引擎:SHOW ENGINES
查看表:SHOW TABLES [FROM db_name]
查看表结构:DESC [db_name.]tb_name
删除表:DROP TABLE [IF EXISTS] tb_name
查看表创建命令:SHOW CREATE TABLE tbl_name
查看表状态:SHOW TABLE STATUS LIKE ‘tbl_name’
查看库中所有表状态:SHOW TABLE STATUS FROM db_name
选择正确的数据类型对于获得高性能至关重要,三大原则:
更小的通常更好,尽量使用可正确存储数据的最小数据类型
简单就好,简单数据类型的操作通常需要更少的CPU周期
尽量避免NULL,包含为NULL的列,对MySQL更难优化
tinyint(m) 1个字节 范围(-128~127)
smallint(m) 2个字节 范围(-32768~32767)
mediumint(m) 3个字节 范围(-8388608~8388607)
int(m) 4个字节 范围(-2147483648~2147483647)
bigint(m) 8个字节 范围(+-9.22*10的18次方)
取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围
为(0~255)
int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范
围,规定了MySQL的一些交互工具(例如MySQL命令行客户端)用来显示字符
的个数。对于存储和计算来说,Int(1)和Int(20)是相同的
BOOL,BOOLEAN:布尔型,是TINYINT(1)的同义词。zero值被视为假。
非zero值视为真
字符串(char,varchar,_text)
char(n) 固定长度,最多255个字符
varchar(n)可变长度,最多65535个字符
tinytext 可变长度,最多255个字符
text 可变长度,最多65535个字符
mediumtext 可变长度,最多2的24次方-1个字符
longtext 可变长度,最多2的32次方-1个字符
BINARY(M) 固定长度,可存二进制或字符,长度为0-M字节
VARBINARY(M) 可变长度,可存二进制或字符,允许长度为0-M字节
内建类型:ENUM枚举, SET集合
所有类型:
• NULL 数据列可包含NULL值
• NOT NULL 数据列不允许包含NULL值 不允许为空
• DEFAULT 默认值 ‘m”w’
• PRIMARY KEY 主键
• UNIQUE KEY 唯一键
• CHARACTER SET name 指定一个字符集
数值型
• AUTO_INCREMENT 自动递增,适用于整数类型
• UNSIGNED 无符号整数
create table emp 创建员工表
( id int unsigned auto_increment unsigned primary key, id是主键 整数 编号自动递增
name varchar(30) not null, 名字 30个字节 不为空
sex char(1) default ‘m’, 性别默认为m
address varcgar(100) ) engine=innodb charset=utf8; 地址为100字节 存储引擎为innodb 字符集为utf8
show create table 名字\G 查看建表时的命令 可以直接复制在建立一张表
use db1
select user,host,password from mysql.user; 查看user表
create table user select user,host,password from mysql.user; create table 可以直接建立出user表
create table user select user,host,password from mysql.user where 1 = 0 ;只复制表结构
赞 (0)
安装包管理及计划任务管理
上一篇
2018-06-13
用 percona-xtrabackup 实现备份实例
下一篇
2018-06-14