mysql创建角色出错,MYSQL数据库学习(一)搭建环境,创建角色分配权限

备注:环境为MySQL Community Server 8.0.19版本

第二步:打开刚刚解压的文件夹 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.11# 设置 mysql数据库的数据的存放目录,MySQL8+不需要以下配置,系统自己生成即可,否则有可能报错

# datadir=C:\\web\\sqldata

# 允许最大连接数

max_connections=20# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB

第三步:以管理员身份运行控制台程序

aae333f09622303b6067f5f77006d4b9.png

首先切换到对应的文件夹:

cd E:\mysql-8.0.19-winx64\bin

初始化数据库:(空格不可省略)

mysqld --initialize --console

执行完成后,会输出 root 用户的初始默认密码,如:

2d9a01918f7761e9a5e8e5927fbd9670.png

光知道密码还不够,我们还需要安装:

mysqld install

知道初始密码后我们就可以登录我们的mysql数据库了,但是我们还要开启mysql服务:

net start mysql 启动mysql服务

net stop mysql 关闭mysql服务

439c213f4911fa4b94804e770716a112.png

服务启动成功后我们就可以登录我们的数据库啦:

mysql -h 主机名 -u 用户名 -p

-h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;

-u : 登录的用户名;

-p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。

实例:mysql -h 192.168.0.201 -P 3306 -u root -p123

成功效果:

45907cd8eab89cd3aafaff4d03233b69.png

失败效果:失败可能是服务没开,配置不对,等等原因,具体原因具体分析

df1258fe8d84785213d2bacd78bc908f.png

登录成功后我们首先需要修改我们的初始密码

8.0以前版本代码

update user set password=password('你的密码') where user='root' and host='localhost';

8.0以后版本

"ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';"

之后我们就可已创建我们的用户和权限了

8.0之前

root@host# mysql -u root -p

Enter password:*******mysql>use mysql;

Database changed

mysql>INSERT INTO user

(host, user, password,

select_priv, insert_priv, update_priv)

VALUES ('localhost', 'guest',

PASSWORD('guest123'), 'Y', 'Y', 'Y');

Query OK,1 row affected (0.20sec)

mysql>FLUSH PRIVILEGES;

Query OK,1 row affected (0.01sec)

mysql> SELECT host, user, password FROM user WHERE user = 'guest';+-----------+---------+------------------+

| host | user | password |

+-----------+---------+------------------+

| localhost | guest | 6f8c114b58f2ce9e |

+-----------+---------+------------------+

1 row in set (0.00 sec)

8.0之后

mysql> grant all on *.* to 'admin'@'%' identified by 'admin123';

ERROR1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by'admin123'' at line 1mysql> create user 'admin'@'%' identified by 'admin123';

Query OK,0 rows affected (0.06sec)

mysql> grant all on *.* to 'admin'@'%';

Query OK,0 rows affected (0.04sec)

mysql>flush privileges;

Query OK,0 rows affected (0.00 sec)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值