数据库概述及MySQL的安装配置
概述
MySQL是一个关系型数据库,它是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大的仓库中,这样就增加了速度并提高了灵活性。
基本术语
- 数据库:数据库是关联表的集合,一个库里面可以有很多表。
- 数据表:表是数据的矩阵。
- 列:一列包含了相同的数据,例如:姓名
- 行:一行是一组相关的数据,例如一条用户个人信息数据
- 冗余:存储两倍数据,冗余降低了速度,但是可以提高数据的安全性。
- 主键:主键是唯一的。一个数据表中只能包含一个主键。可以使用主键来查询数据。
- 外键:外键用于关联两个数据表。
- 复合键:复合键将多个列作为一个索引键,一般用于复合索引。
- 参照完整性:参照的完整性要求关系中不允许引用不存在的实体,与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
MySQL安装
win免安装版配置
-
解压文件
-
配置环境变量,将解压后文件夹的bin目录添加到环境变量中
-
在解压后的文件夹中创建配置文件
my.ini
,编辑文件的内容如下:[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置服务端口 port=3306 # 设置mysql的安装目录 basedir=D:\mysql-5.7.20-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\mysql-5.7.20-winx64\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认设置为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用默认的存储引擎 default-storage-engine=INNODB
-
安装MySQL服务,执行命令
mysqld -install
-
执行初始化命令,在MySQL目录下生成data文件夹。
命令:mysqld --initialize-insecure --user=mysql
-
启动MySQL服务,并使用root登录,同时设置登录密码。
启动服务命令:net start mysql
设置root密码命令:mysqladmin -u root -p password
-
mysql -u root -p
进入MySQL数据库初始界面。
centos安装配置
-
配置MySQL 8.0安装源
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
-
安装MySQL8.0
yum --enablerepo=mysql80-community install mysql-community-server
-
启动mysql服务
service mysqld start
或systemctl start mysqld.service
-
查看MySQL服务运行状态
systemctl status mysqld.service
-
查看root用户临时密码
grep "A temporary password" /var/log/mysqld.log
-
更改临时密码
临时密码登录成功后输入:
alter user 'root'@'localhost' identified by "new password"
密码需包含大小写字母、数字和符号修改密码验证策略:
查看当前的密码验证策略:
策略说明:
-
validate_password.length是密码的最小长度,默认是8
修改命令:
set global validate_password.length=6
-
validate_password.policy是验证密码的复制程度
修改命令:
set global validate_password.policy=0
-
validate_password.check_user_name 是用户名检查,用户名和密码不能相同
修改命令:
set global validate_password.check_user_name=off;
-
-
配置远程访问
查看默认MySQL用户:
命令:
use mysql;
select user,host from user;
root用户的host为localhost,不是%,可以添加一个host是%的root账号
命令:
create user test identified by 'password';
update user set user.Host='%' where user.User='test';
flush privileges;
上一篇: c#程序连接sql server数据库
下一篇: SQL server 触发器示例