下载 MySQL
最新版本可以在MySQL下载 中下载中查看。
下载完后,将解压后的文件夹放在 C:\web\mysql-8.0.18 下。
MySQL 的配置文件
解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\web\\mysql-8.0.18
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
启动下 MySQL 数据库
以管理员身份打开 cmd 命令行工具,切换目录:
cd C:\web\mysql-8.0.18\bin
初始化数据库:
mysqld --initialize --console
执行完成后,会输出 root 用户的初始默认密码,如:
2020-01-08T01:52:06.679972Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: #2bjZ1=;Vy0p
输入以下安装命令:
mysqld install
启动输入以下命令即可:
net start mysql
登录 MySQL
当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名:
mysql -h 主机名 -u 用户名 -p
参数说明:
-h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
-u : 登录的用户名;
-p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:
mysql -u root -p
按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:
Enter password:
若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welcome to the MySQL monitor... 的提示语。
然后命令提示符会一直以 mysq> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录。
修改初始密码
为便于后续操作,修改初始密码:
alter user root@localhost identified by 'root@123';
单引号内的字符就是新密码,不包括单引号。
在忘记root密码的情况下,vi /etc/my.cnf
在最后一行添加上:skip-grant-tables
保存退出,重启mysql,
mysql>use mysql
mysql> UPDATE user SET Password = password ( 'xinmima' ) WHERE User = 'root' ;//单引号内的字符即使需要设置的新密码
mysql>quit
删除/etc/my.cnf文件里面的“skip-grant-tables”。最后重启,输入新密码就可以了。
在第一次重启后,mysql数据库处于完全没有密码保护的状态,其他任何用户都不需要密码直接可以登录mysql数据库。需要保证没有其他用户在登录或者连接。
新建数据库
show databases;
CREATE DATABASE test;
use test;
新建数据表
show tables;
CREATE TABLE book(name char(20),author char(20));
在表中新建记录:
INSERT INTO book VALUES('c language','niuren');
INSERT INTO book VALUES('java','lihairen');
INSERT INTO book VALUES('python','yy');
查看记录:
SELECT * FROM book;
查看记录条数:
use information_schema;
select sum(table_rows) from tables where TABLE_SCHEMA = 数据库名称;