Linux系统上安装mysql5.7
(如需rpm包,自行下载)
mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz的rpm包百度网盘链接(635MB):
链接:https://pan.baidu.com/s/1On8I2Tt7dr9E5qIfa3uZ5A
提取码:linu
这里通过Xshell 传到Linux系统上,Windows下装一个Xshell,拖入下载的压缩包到Xshell窗口即可,默认放在 root 目录下
检查是否装有关mysql的软件包(非第一次安装)
rpm -qa|grep -i mysql
如果有,用 rm -e 软件包名统一删除,提示错误的话,命令最后加上 – nodeps,例如:
rpm -e mysql-community-libs-5.7.36-1.el7.x86_64 --nodeps
再次查询,没有结果就干净了
开始安装
解开压缩包
tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
移到/usr/local/mysql 目录下
mv mysql-5.7.35-linux-glibc2.12-x86_64 /usr/local/mysql
创建mysql用户组和用户
groupadd mysql
useradd -r -g mysql mysql
(如果之前有mysql用户,userdel -r mysql 删除)
创建mysql数据目录 /data/mysql
mkdir -p /data/mysql
设置该目录的拥有者为mysql用户与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
explicit_defaults_for_timestamp=true
进入目录 /usr/local/mysql/bin/,初始化mysql
cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
将mysql.server 服务添加到 /etc/init.d/mysql 目录下,才能用service 启动mysql.server
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
查看mysql自动生成的初始密码,等下登录mysql需要回来复制
cat /data/mysql/mysql.err | grep password
启动mysql.server
service mysql start
service mysql status
创建软连接,就不必每次都去/usr/mysql/bin 下执行./mysql -u root -p,在命令行直接mysql -u root -p
ln -s /usr/local/mysql/bin/mysql /usr/bin
登录数据库
mysql -u root -p
复制前面的初始密码粘贴过来
登录后设置密码,根据安全性需求自己定义new password,可以是简单的123456,因为这里安装完密码的强度验证等级为OFF,杂七杂八各种安装方式都有,有些安装默认是MEDIUM,中等级强度需要设置复杂密码
SET PASSWORD = PASSWORD('new password');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
设置任何主机都可以访问mysql,主要是为了远程Navicat连接
USE mysql
UPDATE user SET host = '%' WHERE user = 'root';
FLUSH PRIVILEGES;
退出数据库
exit
如果要在Windows上远程连接mysql,需要安装图形化管理软件Navicat
如遇连接失败的情况,临时关闭Linux的firewalld
systemctl stop firewalld
命令行连接数据库:mysql -u root -p
(需要创建软连接才可以,如果提示软连接文件mysql存在,用 ln -sf 覆盖)
退出数据库:exit
数据类型:数值,日期/时间,字符串(字符)类型
数值类型
严格数值数据类型:integer,smallint,decimal,numeric
近似数值数据类型:float,real,double,precision
日期和时间类型
datatime,date,timestamp,time,year
字符串类型
char,varchar,binary,varbinary,blob,text,enum,set
常见字段含义:
auto_increment //自增长
not null //非空
default //默认值
unique //唯一
charset //指定字符集
primary key //主键
创建数据库:
create database dbname;
显示所有数据库
show databases;
删除数据库
drop database dbname;
选择数据库
use dbname;
创建数据表
需要有表名,表字段名,定义每个表字段
命令行先选择数据库
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='运维工程师';
end