改变权限 sudo c
-
下载mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz版本
-
环境配置
-
linux连接工具:XShell
linux文件管理工具:Xftp
linux系统版本: CentOS 7.3 64位
安装源文件版本:下载mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
-
1) 安装前,检测系统是否自带安装 MySQL
[admin@jdc /]$rpm -qa | grep mysql
若有,类似mysql-libs-5.1.52-1.el6_0.1.x86_64进行卸载:
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64 // 普通删除模式 rpm -e --nodeps // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
2)检查否存在 mariadb 数据库,若有,卸载掉,卸载同上
[admin@jdc /]$ rpm -qa | grep mariadb
3)用XFTP工具将下载的mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz上传到linux服务器的/opt/software目录下
-
-
安装
1)进入安装包所在目录,解压文件到/opt/module/mysql
[admin@jdc /]$ cd /opt/software [admin@jdc software]$ tar -zxvf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz -C /opt/module/mysql/
重命名
[admin@jdc mysql]$ mv ysql-5.7.34-linux-glibc2.12-x86_64 mysql-5.7.34
2)添加系统mysql组和mysql用户
[kmzcadmin@kmzcjdc04 mysql]$ sudo groupadd mysql # root模式不用加sudo,用户模式不加sudo便groupadd:拒绝访问, Groupadd:不能锁定/etc/group [kmzcadmin@kmzcjdc04 mysql]$ sudo useradd -r -g mysql mysql #useradd -r参数表示mysql用户是系统用户,不可用于登录系统 cat /etc/group | grep mysql #查看mysql组和用户是否添加成功 cat /etc/passwd | grep mysql
-
安装数据库
1)创建data目录
[admin@jdc mysql]$ cd mysql-5.7.34 [admin@jdc mysql-5.7.34]$ mkdir data
将/opt/mysql/mysql-5.7.34的所有者及所属组改为mysql
chown -R mysql.mysql /opt/module/mysql/mysql-5.7.34
2)在/opt/module/mysql/mysql-5.7.34/support-files目录下创建my_default.cnf并编辑
[admin@jdc support-files]$ mkdir my_default.cnf [admin@jdc support-files]$ vim my_default.cnf #文件内容如下 [mysqld] sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES basedir = /opt/module/mysql/mysql-5.7.34 datadir = /opt/module/mysql/mysql-5.7.34/data port = 3306 socket = /tmp/mysql.sock character-set-server=utf8 log-error = /opt/module/mysql/mysql-5.7.34/data/mysqld.log pid-file = /opt/module/mysql/mysql-5.7.34/data/mysqld.pid
拷贝,如果提示是否覆盖,y
[=admin@=jdc= support-files]$ sudo cp my_default.cnf /etc/my.cnf
3)初始化 mysqld
[admin@jdc support-files]$ cd .. [admin@jdc mysql-5.7.34]$ ./bin/mysqld --initialize --user=mysql --basedir=/opt/module/mysql/mysql-5.7.34/ --datadir=/opt/module/mysql/mysql-5.7.34/data/
4)初始化完成之后,查看日志
[admin@jdc mysql-5.7.34]$ cd /data/mysqld.log
记录临时密码
2021-09-03T02:02:10.729179Z 1 [Note] A temporary password is generated for admin@jdc: Gyric=*:/6(T
5)把启动脚本放到开机初始化目录
[admin@jdc04 mysql-5.7.34]$ sudo cp support-files/mysql.server /etc/init.d/mysql
6)启动mysql服务
[admin@jdc mysql-5.7.34]$ service mysql start Starting MySQL. SUCCESS!
7)登录mysql,密码为开始mysql.log中的临时密码
[admin@jdc mysql-5.7.34]$ ./bin/mysql -u root -p Enter password: 123456 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.34 Copyright (c) 2000, 2021, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
#修改密码 set password=password('123456'); mysql> grant all privileges on *.* to root@'%' identified by '123456'; mysql> flush privileges;
添加远程访问权限
mysql> use mysql; mysql> update user set host='%' where user = 'root'; mysql> flush privileges;
重启mysql生效
[kmzcadmin@kmzcjdc04 mysql-5.7.34]$ service mysql restart Starting MySQL. SUCCESS!
MySQL查看数据库 以及建表
-
SHOW DATABASES [LIKE '数据库名'];
-
show databases;查看或显示当前用户权限范围以内的数据库
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4row in set (0.22 sec)
-
nformation_schema:主要存储了系统中的一些数据库对象信息,比如用户表信息、列信息、权限信息、字符集信息和分区信息等。
-
mysql:MySQL 的核心数据库,类似于 SQL Server 中的 master 表,主要负责存储数据库用户、用户访问权限等 MySQL 自己需要使用的控制和管理信息。常用的比如在 mysql 数据库的 user 表中修改 root 用户密码。
-
performance_schema:主要用于收集数据库服务器性能参数。
-
sakila:MySQL 提供的样例数据库,该数据库共有 16 张表,这些数据表都是比较常见的,在设计数据库时,可以参照这些样例数据表来快速完成所需的数据表。
-
sys:MySQL 5.7 安装完成后会多一个 sys 数据库。sys 数据库主要提供了一些视图,数据都来自于 performation_schema,主要是让开发者和使用者更方便地查看性能问题。
-
-
//创建数据库 create database [database name];
//查看数据库 show databases;
//删除数据库 drop database [database name];
eg:创建一个名为 test_db 的数据库:mysql> CREATE DATABASE test_db;
eg:创建一个名为 mydb的数据库并且制定编码utf8:CREATE DATABASE
mydb
CHARACTER SET utf8 COLLATE utf8_general_ci;eg:删除数据库 :drop database mynewdatabase; //删除名为mynewdatabase的数据库
-
创建表:
use 数据库名;//chesi 建表 eg:create table tb_dept( Id int primary key auto_increment, Name varchar(18),description varchar(100)); mysql> show tables; //查看所有表 删除表:drop table 表名; eg:drop table tb_dept;
-
给表添加索引:
1.添加PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.添加UNIQUE(唯一索引) mysql>ALTER TABLE `table_name` ADD UNIQUE (`column`) 3.添加INDEX(普通索引) mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 4.添加FULLTEXT(全文索引) mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`) 5.添加多列索引 mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
-
查看建立的表结构
show columns from [表名];
-
插入数据
inset {表名} (filed1,field2,....) values (value1,value2,....);
eg:insert tb3 (id,username) values (4,'jona');
重置密码
1、跳过MySQL的密码认证过程,方法如下: #vim /etc/my.cnf(注:windows下修改的是my.ini) 在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,
2、service mysqld restart 重启MySQL服务
3、免密码登陆(注:敲入 mysql -u root -p 命令然后回车,当需要输入密码时,直接按enter键,便可以不用密码登录到数据库当中)
4、flush privileges;(首先更新权限)