mysql数据库的安装配置及基本操作

安装mysql

在mysql文件夹根目录下创建mysql配置文件my.ini

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld] 
#设置3306端口 
port = 3306
# 设置mysql的安装目录 
basedir=D:\mysql-8.0.18
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-8.0.18\data
# 允许最大连接数
max_connections=200 
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8 
# 创建新表时将使用的默认存储引擎 
default-storage-engine=INNODB

注意:需要将basedir和datadir改成你电脑mysql的安装路径

进入mysql的bin文件夹下,cmd管理员身份运行

mysqld --install(安装)
mysqld --initialize(初始化)
net start mysql(运行)

设置mysql登录密码

在mysql的data文件夹下有一个err文件,查看初始密码:
在这里插入图片描述
用这个密码登录mysql,登录成功后,输入以下命令修改密码:

mysql> alter user user() identified by 'new password';

配置环境变量

在Path中添加变量

D:\mysql-8.0.18\bin(mysql的bin文件夹所在路径)

启动mysql

net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。

登录mysql

mysql -uroot -p输入密码,登录成功显示“Welcome to the MySQL monitor.”字样,出现mysql>光标闪烁

显示存在的所有数据库

mysql> show databases;
±-------------------+
| Database |
±-------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
±-------------------+
5 rows in set (0.01 sec)

创建数据库test1

mysql> create database test1;
Query OK, 1 row affected (0.00 sec)

删除数据库test1

mysql> drop database test1;
Query OK, 0 rows affected (0.01 sec)

使用test1数据库

mysql> use test1;
Database changed

显示当前操作的数据库

mysql> select database();
±-----------+
| database() |
±-----------+
| test1 |
±-----------+
1 row in set (0.00 sec)

在test1数据库中创建stu数据表

mysql> create table stu(
    -> id int,
    -> 学号 varchar(10),
    -> 姓名 varchar(10),
    -> 性别 varchar(2)
    -> );

Query OK, 0 rows affected (0.03 sec)

查看stu数据表的表结构

mysql> desc stu;
±-------±------------±-----±----±--------±------+
| Field | Type | Null | Key | Default | Extra |
±-------±------------±-----±----±--------±------+
| id | int(11) | YES | | NULL | |
| 学号 | varchar(10) | YES | | NULL | |
| 姓名 | varchar(10) | YES | | NULL | |
| 性别 | varchar(2) | YES | | NULL | |
±-------±------------±-----±----±--------±------+
4 rows in set (0.01 sec)

查看当前数据库中所有的表

mysql> show tables;
±----------------+
| Tables_in_test1 |
±----------------+
| stu |
±----------------+
1 row in set (0.00 sec)

查看stu数据表中的所有数据

mysql> select * from stu;
Empty set (0.00 sec)

在stu数据表中插入数据

mysql> insert into stu set
    -> id=2,
    -> 学号=10086,
    -> 姓名='傻狗',
    -> 性别='女';

Query OK, 1 row affected (0.01 sec)

设置主键id

alter table stu add primary key(id);

设置主键id自增长

alter table stu modify id int auto_increment;

设置主键id自增长初始值

alter table stu auto_increment=1;

查看stu数据表中所有数据

mysql> select * from stu;
±-----±-------±-------±-------+
| id | 学号 | 姓名 | 性别 |
±-----±-------±-------±-------+
| 2 | 10086 | 傻狗 | 女 |
±-----±-------±-------±-------+
1 row in set (0.00 sec)

删除stu数据表

mysql> drop table stu;
Query OK, 0 rows affected (0.01 sec)

退出mysql数据库

mysql> \q
Bye

关闭mysql

net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。

mysql 用户及权限管理 小结

MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用。如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接。

在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新用户:

CREATE USER username IDENTIFIED BY ‘password’;
新用户创建完成,但是此刻如果以此用户登陆的话,会报错,因为我们还没有为这个用户分配相应权限,分配权限的命令如下:

GRANT ALL PRIVILEGES ON . TO ‘username’@‘localhost’ IDENTIFIED BY ‘password’;
授予username用户在所有数据库上的所有权限。

如果此时发现刚刚给的权限太大了,如果我们只是想授予它在某个数据库上的权限,那么需要切换到root 用户撤销刚才的权限,重新授权:

EVOKE ALL PRIVILEGES ON . FROM ‘username’@‘localhost’;
GRANT ALL PRIVILEGES ON wordpress.* TO ‘username’@‘localhost’ IDENTIFIED BY ‘password’;
甚至还可以指定该用户只能执行 select 和 update 命令:

GRANT SELECT, UPDATE ON wordpress.* TO ‘username’@‘localhost’ IDENTIFIED BY ‘password’;
这样一来,再次以username登陆 MySQL,只有wordpress数据库是对其可见的,并且如果你只授权它select权限,那么它就不能执行delete 语句。

另外每当调整权限后,通常需要执行以下语句刷新权限:

FLUSH PRIVILEGES;
删除刚才创建的用户:

DROP USER username@localhost;
仔细上面几个命令,可以发现不管是授权,还是撤销授权,都要指定响应的host(即 @ 符号后面的内容),因为以上及格命令实际上都是在操作mysql 数据库中的user表,可以用如下命令查看相应用户及对应的host:

SELECT User, Host FROM user;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值