Centos7安装mysql5.7.35

安装部分

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='运维工程师';

你可能感兴趣的:(mysql)