数据库是按照数据结构来组织、存储和管理数据的数据集合,可以对所存储的数据进行增、删、改、查等操作
常用数据库
关系型数据库(SQL)
Access
MySQL
MariaDB
SqlServer
Oracle
非关系型数据库(NoSQL)
相关名词
DMMS:数据库管理系统,如mysql等
DBS:数据库系统,由数据库、数据库管理系、数据库管理员构成
DBA:数据库管理员
DB:数据库,是统一管理的相关数据的集合
表:每个表就是一个关系,是记录数据和关系的容器
行(row):每一行称为一个记录或元组
列(column):每一列称为一个属性
域:数据的取值范围
主键:可以唯一标识记录的属性
索引:单独存储的能够快速进行查询的数据项
常用链接
官网下载安装包并上传至服务器

安装所需依赖包

解压缩

tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar 使用rpm命令或yum命令进行安装

yum install ./mysql-community-{client,server,common,libs}-*
若出现如下错误可采取卸载mariadb-devel的方法卸载mariadb-devel


启动服务

登录mysql并修改密码



mysql默认密码复杂度规则(mysql5.6.6及以后的版本使用validate_password进行密码强度验证)

show variables like "%password%";
+----------------------------------------+-----------------+
| Variable_name | Value |
+----------------------------------------+-----------------+
| default_password_lifetime | 0 |
| disconnect_on_expired_password | ON |
| log_builtin_as_identified_by_password | OFF |
| mysql_native_password_proxy_users | OFF |
| old_passwords | 0 |
| report_password | |
| sha256_password_auto_generate_rsa_keys | ON |
| sha256_password_private_key_path | private_key.pem |
| sha256_password_proxy_users | OFF |
| sha256_password_public_key_path | public_key.pem |
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | | #用于验证密码强度的字典文件路径
| validate_password_length | 8 | #密码长度最小8位
| validate_password_mixed_case_count | 1 | #至少包含1个大写字母1个小写字母
| validate_password_number_count | 1 | #至少包含1个数字
| validate_password_policy | MEDIUM | #密码强度检查等级0:LOW,1:MEDIUM(默认值),2:STRONG
| validate_password_special_char_count | 1 | #至少包含一个特殊字符
+----------------------------------------+-----------------+
#使用set global 变量名=值;进行修改(临时生效)
#修改配置文件/etc/my.cnf文件永久保存关闭 validate_password 密码验证(有风险)



再次修改密码,使用空密码依然被允许

刷新使修改生效

修改数据库默认字符集支持中文




root密码遗忘后找回的方法


systemctl set-environment MYSQLD_OPTS='--skip-grant-tables --skip-networking'
#设置临时跳过密码验证登录,--skip-networking可省略
若设置关闭validate_password,需要注释该设置



即可无密码登录

更改密码

修改mysql登录提示符


export MYSQL_PS1="\u@\h[\d]>"


(如果只想修改个别用户的登录提示符,则在对应用户的环境变量文件中修改即可,windows环境同样适用)
允许用户远程登录
允许用户远程登录

关闭防护墙或添加对应规则

或

mysql -u root -p
rename user root@localhost to root@'%';
select user,host from mysql.user;
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload用户远程登录

2003错误

问题: 配置了skip_networking或者bind_address
解决方法:


1045错误

问题:输入密码错误
从官网下载合适的安装包

解压缩并放置指定路径



添加环境变量(windows10)
右击我的电脑,选择属性

选择高级系统设置

选择环境变量

选择path变量并单击编辑命令

添加mysql的环境变量并保存

单击确认进行保存(需要在环境变量页面单击确认才真正保存)

为mysql添加配置文件my.cnf


[mysqld]
basedir=D:/Program/mysql5.7 #mysql所在路径
datadir=D:/Program/mysql5.7/data #data文件所在目录
character-set-server=utf8 #设置默认字符集cmd中运行安装命令进行安装(需要管理员权限,需要安装Visual C++2013)

mysqld --install MySQL #进入mysql的bin目录下执行安装命令
若被杀毒软件阻止设置允许或关闭杀毒软件
初始化数据库

mysqld --initialize-insecure #初始化数据库
启动服务(win+R打开运行执行services.msc打开服务窗口)


连接数据库(首次进入root用户密码为空)

更改root用户密码

alert user root@localhost identified by '123456'; #修改密码为123456,下次登录时使用密码登录

使用图形化软件连接(navicat)






mysql 用于连接数据库

status或\s命令查看服务器当前状态

或

quit或exit命令退出mysql


show databases命令查看所有数据库

use命令使用(进入)数据库

show tables 命令查看数据库中的表

或

查看正在使用的数据库(所处的数据库)

或

查看表中的列(属性)

查看表中的记录

或使用\G使用另一种显示格式

查看数据库存放位置

创建数据库

删除数据库

查看当前连接用户

查看当前服务器日期和时间

帮助命令

或

\d修改结束符(默认分号)

tee命令将屏幕输出结果另存到指定文件,结束时输入notee

\c取消当前语句输入

system COMM 执行操作系统命令

原文:https://www.cnblogs.com/lastyear/p/11930571.html