装置局部
Centos7 装置 mysql5.7.35
mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz 的 rpm 包百度网盘链接(635MB):
链接:https://pan.baidu.com/s/1On8I… | 提取码:linu |
---|
环境查看
rpm -qa|grep -i mysql;
rpm -e mysql-community-libs-5.7.36-1.el7.x86_64 --nodeps;
上传解压创立用户,(如果之前有 mysql 用户,userdel -r mysql 删除),创立 mysql 数据库,赋予权限
tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz;
mv mysql-5.7.35-linux-glibc2.12-x86_64 /usr/local/mysql;
groupadd mysql;
useradd -r -g mysql mysql;
mkdir -p /data/mysql;
chown mysql:mysql -R /data/mysql;
配置 /etc/my.cnf 文件
vi /etc/my.cnf
[mysqld]
bind-address=0.0.0.0 #绑定地址运行近程连贯
port=3306 #Mysql 凋谢的端口
user=mysql #登录用户
basedir=/usr/local/mysql #Mysql 装置的绝对路径
datadir=/data/mysql #Mysql 数据寄存的绝对路径
socket=/tmp/mysql.sock #套接字文件
log-error=/data/mysql/mysql.err #mysql 生成的谬误日志寄存的门路
pid-file=/data/mysql/mysql.pid #为 mysqld 程序指定一个寄存过程 ID 的文件
character_set_server=utf8mb4 #数据库字符编码
symbolic-links=0 #是否反对符号链接,即数据库或表能够存储在 my.cnf 中指定 datadir 之外的分区或目录,为 0 不开启
explicit_defaults_for_timestamp=true #timestamp 类型的列的自动更新于更新操作工夫点
初始化 mysql,增加零碎服务到 /etc/init.d/mysql 目录下,启动 mysql,设置全局变量,如果提醒软连贯文件 mysql 存在,用 ln -sf 笼罩
cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start
service mysql status
ln -s /usr/local/mysql/bin/mysql /usr/bin
#查看明码
cat /data/mysql/mysql.err | grep password
mysql -u root -p
设置明码与近程连贯,默认明码的强度验证等级为 OFF
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
USE mysql:UPDATE user SET host = '%' WHERE user = 'root';
FLUSH PRIVILEGES;
exit;
凋谢 3306 端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent;
firewall-cmd --reload;
firewall-cmd --list-all;
数据库操作用法
数据类型 :
数值 日期 / 工夫,字符串(字符)类型 |
数值类型
严格数值数据类型 | integer,smallint,decimal,numeric |
近似数值数据类型 | float,real,double,precisio |
日期和工夫类型 |
---|
datatime,date,timestamp,time,year |
字符串类型 |
---|
datatime,date,timestamp,time,year |
常见字段 | 含意 |
---|---|
auto_increment | 自增长 |
not null | 非空 |
default | 默认值 |
unique | 惟一 |
charset | 指定字符集 |
primary key | 主键 |
创立数据库:create database dbname;
显示所有数据库
show databases;
删除数据库
drop database dbname;
抉择数据库
use dbname;
创立数据表
create table tablename;
use dbname;
创立表
create table table_name(column column_type,column1 column_type1,…)
创立表 emp 实例:create table emp(
id int,
name varchar(40),
sex char(4),
birthday date,
job varchar(100)
);
显示数据库所有的表
show tables;
显示表 emp 的构造信息
desc emp;
批改表构造
增加字段 hobby
alter table emp add hobby varchar(100);
批改字段 job 的值
alter table emp modify job varchar(60);
删除 sex 字段
alter table emp drop sex;
批改表名为 user
rename table emp to user;(以上的表名已批改成 user)批改表的字符集为 utf-8
alter table user character set utf-8;
批改列名 name 为 uname
alter table user change column name uname varchar(15);
删除表
drop table user;
表的增 删 改 查
插入表数据
insert into tablename(…) values(…);
insert into user(id,uname,sex,birthday,job,hobby)
values(1,'qyc','man','1999-09-09','网络工程师','钓鱼');
指定某列插入某些数据
insert into user(id,job) values(2,'运维工程师');
批改表数据
update tablename set … ;
依据某一列的值来批改其余列
update user set uname='qyd',hobby='下饭' where id=2;
删除表数据
delete from tablename where … ;
依据某一些列的值来删除整条记录
delete from user where id=2;
删除表中所有数据
delete from user;
或者
truncate table user;
查问表数据
select … from tablename;
查问所有信息
select * from user;
依据某一列来查问某些信息
select id,name from user where job='运维工程师';