mysql设置root密码和创建用户操作

合集下载

MySQL登录时出现Accessdeniedforuserroot@xxx.xxx.xxx。。。

MySQL登录时出现Accessdeniedforuserroot@xxx.xxx.xxx。。。

MySQL登录时出现Accessdeniedforuserroot@xxx.xxx.xxx。

场景⼀:调试web程序访问数据库的时候出现场景⼆:MySQL登陆的时候,区分本地localhost登陆,以及远程登陆。

即使本地能够登陆,如果不授权也⽆法远程登陆分析原因:(区分)当本地出现这样的情况,就是密码错误,找到正确的密码或者修改密码;当远程登陆的时候,⾸先确定登陆密码是否正确,第⼆确定是否远程授权。

针对以上两种情况,给出解决⽅案。

情况⼀解决⽅案:修改本地数据库密码⽅法1:⽤SET PASSWORD命令⾸先登录MySQL。

格式:mysql> set password for ⽤户名@localhost = password('新密码');例⼦:mysql> set password for root@localhost = password('123');⽅法2:⽤mysqladmin格式:mysqladmin -u⽤户名 -p旧密码 password 新密码例⼦:mysqladmin -uroot -p123456 password 123⽅法3:⽤UPDATE直接编辑user表⾸先登录MySQL。

mysql> use mysql;mysql> update user set password=password('123') where user='root' and host='localhost';mysql> flush privileges;⽅法4:在忘记root密码的时候,可以这样以windows为例:1. 关闭正在运⾏的MySQL服务。

2. 打开DOS窗⼝,转到mysql\bin⽬录。

3. 输⼊mysqld --skip-grant-tables 回车。

--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。

mysql8设置允许远程连接Youarenotallowedtocreateauserwi。。。

mysql8设置允许远程连接Youarenotallowedtocreateauserwi。。。

mysql8设置允许远程连接Youarenotallowedtocreateauserwi。

1.登录mysql : mysql -u root -p2.输⼊密码: Enter password: xxxxx------ Server version: 8.0.15 MySQL Community Server - GPL3.进⼊mysql数据库:use mysql;4.设置允许远程⽤户访问:MySQL [mysql]> GRANT ALL ON *.* TO 'root'@'%'出现问题:ERROR 1410 (42000): You are not allowed to create a user with GRANT原因:当前user表中没有root - %记录;可以更新root - localhost 为 root - %MySQL [mysql]> update user set host = '%' where user = 'root';出现问题:ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'原因显⽰:host+user 应该是联合主键,冲突了5.解决⽅法:MySQL [mysql]> update user set host = '%' where user = 'root' and host='localhost';6.再次给⽤户root授权MySQL [mysql]> GRANT ALL ON *.* TO 'root'@'%'MySQL [mysql]> flush privileges;此时⽤navicat连接还是报错:Client does not support authentication protocol requested by server;原因是mysql8默认的加密⽅式为caching_sha2_password 与mysql5的加密⽅式mysql_native_password 不同7.解决⽅法-更新⽤户加密⽅式:MySQL [mysql]> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';查询⼀下修改结果:MySQL [mysql]> select host,user,plugin from user;其它:如果需要⽀持 root - localhost可以使⽤插⼊语句MySQL [mysql]> insert user (user, host, ssl_cipher, x509_issuer, x509_subject) values('root', 'localhost', '', '', '');再查看:(注意 ssl_cipher, x509_issuer, x509_subject这⼏个字段没有默认值,不设置会提⽰错误)。

Mysql

Mysql

Mysql一、Mysql简介:是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。

Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的SQL 语言是用于访问数据库的最常用标准化语言。

MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。

由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

说明:mysql是用来存储数据的,它是数据库服务器,但是数据库服务器并就是mysql,mysql会要遵循sql标准,但并不是100%遵循。

二、数据库分类:Mysql、oracle、IBM、DB2、sqlite、postgresql三、Mysql安装:Mysql安装时尽量不要去用最新版本,因为最新版本兼容不是很好,目前比较稳定的是mysql5.1和mysql5.5四、Mysql数据库连接:1、MySQL 连接本地数据库,用户名为“root”,密码“123”(注意:“-p”和“123” 之间不能有空格)C:\>mysql -h localhost -u root -p123注:在没有设置环境变量的时候:如果mysql.exe在E:\wamp\bin\mysql\mysql5.6.12\bin下;①首先在cmd命令中先跳到E盘下:输入E:②连接数据库:wamp\bin\mysql\mysql5.6.12\bin\mysql -uroot -p2、MySQL 连接远程数据库(192.168.0.201),端口“3306”,用户名为“root”,密码“123”C:\>mysql -h 172.16.16.45 -P 3306 -u root -p1233、MySQL 连接本地数据库,用户名为“root”,隐藏密码C:\>mysql -h localhost -u root -pEnter password:4、MySQL 连接本地数据库,用户名为“root”,指定所连接的数据库为“test”C:\>mysql -h localhost -u root -p123 -D testmysql>select database();+------------+| database() |+------------+| test |+------------+五、数据库用户操作:格式:grant select on 数据库.* to用户名@登录主机identified by "密码"例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。

解决mysqlAccessdeniedforuserroot@IP地址问题

解决mysqlAccessdeniedforuserroot@IP地址问题

解决mysqlAccessdeniedforuserroot@IP地址问题⽤这个⽅法测试⽆法让所有机器都可以登录mysql服务器,只能⼀次设置单个ip登录,原因暂时不知道;关于只能设置单个ip登录:查看musql的user表发现原因是‘%’⽤户设置了密码,在修改mysql数据库的‘%’⽤户的密码为‘’,即空的时候,就可以实现所有ip登录了在MYSQL 中,⽤远程软件登陆服务器,有时出现:Access denied for user 'root'@'localhost' 出现这种问题,主要的原因就是权限配置的时候没有配置正确。

解决⽅法如下:当⽤Linux/unix的tty 登陆进MYSQL 时, mysql -u root -p 会提⽰你输⼊密码,输⼊正确的密码后正常登陆。

然后在提⽰符下,打命令:show grants; 会出现root如下的权限表⽰:GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '565491d704013245' WITH GRANT OPTION此时,注意看那个“@”后⾯的,是localhost 意思是本机登陆,,此时,如果你⽤远程登陆软件来登陆的话,会出现错误提⽰:Access denied for user 'root'@'IP 地址'。

IP地址那块是你远程机器的IP地址。

也就是服务器在告诉你,当你⽤“IP地址”登陆时,是拒绝的,因为,MYSQL权限设置⾥并没有给你对应你IP地址登陆的权限。

因为刚才的SHOW GRANTS;命令结果已经告诉你了,仅限本机登陆。

那解决⽅法如下:此时,你可以尝试⽤空密码连接,是可以连接进⼊的。

或者你在服务器的tty 或者pts操作台中进⼊服务器后执⾏如下的命令:grant all privileges on *.* to 'root'@'%' with grant option;意思是让root在所有机器都可以登陆到MYSQL服务器(拥有所有权限)。

AWS EC2 设置root 用户和密码登录操作文档

AWS EC2 设置root 用户和密码登录操作文档

AWS操作文档目录AWS操作文档 (1)1.创建安全组 (1)1.1.修改默认安全组规则 (1)2.创建密钥对 (2)3.创建实例 (2)4.使用xshell 连接AWS 实例 (6)4.1.设置xshell 用户秘钥管理者 (6)4.2.连接AWS EC2 实例 (8)4.3.设置Root 账号密码 (9)4.4.设置Xshell 工具root 用户和密码 (11)1.创建安全组1.1.修改默认安全组规则➢控制台–> EC2 -> 安全组:增加80、22、8080 端口规则2.创建密钥对➢控制台-> EC2 -> 秘钥对➢下载到本地目录中3.创建实例➢控制台-> EC2 -> 实例:启动实例➢选择免费的类型➢默认下一步➢设置默认存储➢默认下一步➢选择现有的默认安全组➢启动➢选择创建的密钥对➢查看实例列表➢获得外网IP4.使用XSHELL 连接AWS 实例4.1.设置XSHELL 用户秘钥管理者➢Xshell –> 工具–> 用户秘钥管理者➢关闭窗口➢文件-> 新建-> x新建会话属性:输入名称,主机➢设置用户身份验证4.2.连接AWS EC2 实例➢点击:连接➢接收并保存➢连接成功4.3.设置ROOT 账号密码➢提权设置root 密码:$ sudo passwd root➢切换root 用户下,修改ec2-user 的密码:$ su root# passwd ec2-user➢设置sshd_config 文件,ssh 使用用户名和密码登录# sed -ri 's/^#?(PasswordAuthentication)\s+(yes|no)/\1 yes/' /etc/ssh/sshd_config # sed -ri 's/^#?(PermitRootLogin)\s+(yes|no)/\1 yes/' /etc/ssh/sshd_config# sed -ri 's/^/#/;s/sleep 10"\s+/&\n/' /root/.ssh/authorized_keys# systemctl restart sshd.service# touch /root/.Xauthority➢解决警告提示# yum install xorg-x11-xauth xterm –y4.4.设置XSHELL 工具ROOT 用户和密码➢打开Xshell -> 打开-> 创建的连接➢设置root 用户和密码➢Root 用户连接AWS EC2 实例。

23_Mysql安全配置实训

23_Mysql安全配置实训

实训二十二 Mysql安全配置实训一、实训目的1、了解Mysql安全配置的重要性;2、掌握Mysql安全配置的方法。

二、应用环境Mysql 是一个多用户、多线程SQL数据库服务器,它是一个客户机/服务器结构的实现。

Mysql是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统来说,Mysql具有小巧、功能齐全、查询迅捷等优点。

Mysql 主要目标是快速、健壮和易用。

目前,在大中型企业中已经得到了较好的运用,但是由于它是多平台的数据库,不可避免的默认配置也是适合多种情况的需求,因此用户需要在自定义的环境下对Mysql的使用进行加固。

三、实训设备PC机1台四、实训拓扑无五、实训要求在PC机上安装Mysql数据库六、实训步骤第一步:Mysql安装在PC机ubuntu系统上安装Mysql数据库,使用命令apt-get install mysql-server自动在线安装安装过程中会有输入密码的提示窗口,如下再次输入等待安装完成后,使用mysql -u root –p命令登录到数据库使用mysqladmin –u root –p version命令可查看mysql版本显示所有的数据库:show databases; 使用mysql数据库:use mysql;显示库中所有的表:show tables;第二步:Mysql安全配置1、修改root用户口令,删除空口令缺省安装的Mysql的root用户是空密码的,为了安全起见,必须修改为强密码,所谓的强密码,至少8位,由字母、数字和符号组成的不规律密码。

使用 Mysql自带的命令mysaladmin 修改root密码,同时也可以登陆数据库,修改数据库Mysql下的user表的字段内容,修改方法如下所示:# /usr/local/Mysql/bin/Mysqladmin -u root password “upassword” //使用Mysqladmin #Mysql> use Mysql;#Mysql> update user set password=password('upassword') where user='root';#Mysql> flush privileges; //强制刷新内存授权表,否则用的还是在内存缓冲的口令2、删除默认数据库和数据库用户一般情况下,Mysql数据库安装在本地,并且也只需要本地的php脚本对Mysql进行读取,所以很多用户不需要,尤其是默认安装的用户。

【Linux】学习笔记:(二)用户和组群账户管理

【Linux】学习笔记:(二)用户和组群账户管理

【Linux】学习笔记:(⼆)⽤户和组群账户管理⽬录前⾔在Linux系统中,⽤户账户是登录系统的唯⼀凭证,其中root⽤户是系统的最⾼管理者,该⽤户的UID是0,与⽤户和组群账户相关的配置⽂件有/etc/passwd,/etc/shadow,/etc/group和/etc/gshadow。

⼀、⽤户账户简介1、⽤户账户分类root⽤户root⽤户UID为0。

root⽤户的权限是最⾼的,普通⽤户⽆法执⾏的操作,root⽤户都能完成,所以也称之为超级⽤户系统⽤户系统⽤户的UID为1~999这类⽤户不具有登录Linux的能⼒,但却是系统运⾏不可缺少的⽤户。

普通⽤户系统⽤户的UID为1000~60000在Linux系统上进⾏普通操作,其使⽤系统的权限受限制。

2、 /etc/passwd⽂件假设以账户zhangsan登录系统时,系统⾸先会检查/etc/passwd⽂件,存在zhangsan账户,然后确定⽤户zhangsan的UID,通过UID确认⽤户⾝份,如果存在,则读取/etc/shadow⽂件中对应的密码,核实⽆误,则登录系统,读取⽤户的配置⽂件[root@centos83 home]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin..............(省略)..........sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinrngd:x:994:991:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologinzhangsan:x:1000:1000::/home/zhangsan:/bin/bash字段字段含义⽤户名在系统中⽤户名应该具有唯⼀性密码存放加密⽤户的密码,看到的是⼀个x,其实密码已经被映射到/etc/shadow⽂件中⽤户标识号(UID)每个⽤户的UID都是唯⼀的,root⽤户的UID是0,普通⽤户的UID默认从1000开始组群标识号(GID)在系统内⽤⼀个整数标识⽤户所属的主要组群ID号,每个组群ID都是唯⼀的⽤户名全称⽤户名描述,可以不设置主⽬录⽤户登录系统后⾸先进⼊的⽬录登录shell⽤户使⽤的Shell类型,Linux系统默认使⽤的Shell是/bin/bash2、 /etc/shadow⽂件/etc/shadow⽂件内容包括⽤户及被加密的密码以及其他/ect/passwd不能包括的信息,⽐如账户有效期等/etc/shadow⽂件只有root⽤户可以读取和操作,确保系统安全[root@centos83 home]# cat /etc/shadowroot:$6$Uq9EeN5GfNDLF83M$csUva0exzO/n3PIvhKv5D1Xs3Ga06G2whjfagtEtJUW1wlQbREEd6HkOjTRCTqGuZCXvg2WQ1wdyzqY.qfAzE1::0: 99999:7:::bin:*:18397:0:99999:7:::..............(省略)..........sshd:!!:18625::::::rngd:!!:18625::::::zhangsan:$6$HMTy.raoMPbhboQn$71FPRHyRycVf3AcenfNW1n7/qD7ep.x5vSeBSSxzJdWmvjoQ98oDhfA8Kz/6PlOgKe/ksj58AXeWBPOGAm/dl1 :18625:0:99999:7:::字段字段含义⼆、 ⽤户账户设置1、useradd :创建⽤户创建⽤户useradd moon创建⽤户并设置UID 为1010useradd -u 1010 moon创建⽤户并设置⽤户所属群组为rootuseradd -g root moon创建系统⽤户mysql 并设置所属组群useradd -r -g mysql mysql2、 usermod :修改⽤户账户修改⽤户pp 的登录名为moonusermod -l moon pp修改⽤户moon 账户过期时间为2028年11⽉23⽇usermod -e 11/23/2028 moon修改⽤户moon 的主⽬录到/home/oopp ,并⾃动创建⽬录usermod -d /home/oopp -m moon ⽤户名这⾥的⽤户名和/etc/passwd 中的相同加密密码密码已经加密,如果由⽤户显⽰"!!",则表⽰这个⽤户还没有设置密码,⽆法登录到系统⽤户最后⼀次更改密码的⽇期从1970年1⽉1⽇算起到最后⼀次修改密码的时间间隔天数密码允许更换前的天数如果设置为0,则禁⽤此功能。

mysql错误代码1045的原因及解决方案

mysql错误代码1045的原因及解决方案

mysql错误代码1045的原因及解决方案mysql错误代码1045你的电脑会出现吗?是什么原因导致的这个问题?本文是精心的,mysql错误代码1045的原因及解决方案希望能帮助到你!代码如下:错误代码1045Aessdeniedforuser'root'@'localhost'(usingpassword:YES) 解决办法是重新设置root用户密码,在Windows平台下操作步骤如下:1、以系统管理员身份登录到系统;2、如果MySQL服务器正在运行,停止它。

如果是作为Windows服务运行的服务器,进入服务管理器:开始菜单->控制面板->管理工具->服务如果服务器不是作为服务而运行的,可能需要使用任务管理器来强制停止它。

3、创建1个文本文件,并将下述命令置于单一行中:复制代码代码如下:SETPASSWORDFOR'root'@'localhost'=PASSWORD('MyNewPassword');用任意名称保存该文件。

在本例中,该文件为C:mysql-init.txt。

4、进入DOS命令提示:开始菜单->运行->cmd假定你已将MySQL安装到C:mysql。

如果你将MySQL安装到了另一位置,请对下述命令进行相应的调整。

在DOS命令提示符下,执行命令:复制代码代码如下:C:>C:mysqlinmysqld-nt--init-file=C:mysql-init.txt 在服务器启动时,执行由“--init-file”选项(作用:在启动时从指定的文件中读取SQL命令)命名的文件的内容,更改根用户密码。

当服务器成功启动后,应删除C:mysql-init.txt。

5、停止MySQL服务器,然后在正常模式下重启它。

如果以服务方式运行服务器,应从Windows服务窗口启动它。

如果以手动方式启动了服务器,能够像正常情形下一样使用命令。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

mysql设置root密码和创建用户操作2011-09-26 10:10
方法1: 用SET PASSWORD命令

mysql -u root
mysql> SET PASSWORD FOR = PASSWORD('12345678');
法2:用mysqladmin
mysqladmin -u root password "newpass"
如果root已经设置过密码,采用如下方法
mysqladmin -u root password oldpass "newpass"
方法3: 用UPDATE直接编辑user表
mysql -u root
mysql> use mysql;
mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user =
'root';

mysql> FLUSH PRIVILEGES;
在丢失root密码的时候,可以这样
mysqld_safe --skip-grant-tables& 然后窗口不要关
在新窗口中运行如下命令
mysql -u root mysql
mysql>user mysql;
mysql> UPDATE user SET password=PASSWORD("new password") WHERE
user='root';

mysql> FLUSH PRIVILEGES;
一, 创建用户:
命令:CREATE USER ' IDENTIFIED BY 'password';
说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登
陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登
陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空
则该用户可以不需要密码登陆服务器.

例子: CREATE USER ' IDENTIFIED BY '123456';
CREATE USER _' IDENDIFIED BY '123456';
CREATE USER ' IDENTIFIED BY '123456';
CREATE USER IDENTIFIED BY '';
CREATE USER ;

二,授权:
命令:GRANT privileges ON databasename.tablename TO
说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE等(详细列
表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库
名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可
用*表示, 如*.*.

例子: GRANT SELECT, INSERT ON test.user TO ;
GRANT ALL ON *.* TO ;

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用
以下命令:
GRANT privileges ON databasename.tablename TO WITH GRANT OPTION;

三.设置与更改用户密码
命令:SET PASSWORD FOR = PASSWORD('newpassword');如果是当前登陆用户用
SET PASSWORD = PASSWORD("newpassword");

例子: SET PASSWORD FOR = PASSWORD("123456");
四.撤销用户权限
命令: REVOKE privilege ON databasename.tablename FROM ;
说明: privilege, databasename, tablename - 同授权部分.
例子: REVOKE SELECT ON *.* FROM ;
注意: 假如你在给用户授权的时候是这样的(或类似的):GRANT SELECT ON
test.user TO , 则在使用REVOKE SELECT ON *.* FROM ;命令并不能撤销该用
户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT
SELECT ON *.* TO ;则REVOKE SELECT ON test.user FROM ;命令也不能撤销该
用户对test数据库中user表的Select 权限.
具体信息可以用命令SHOW GRANTS FOR ; 查看.
五.删除用户
命令: DROP USER ;

相关文档
最新文档