mysql给root开启远程访问权限,修改root密码
- 格式:docx
- 大小:76.64 KB
- 文档页数:2
忘记数据库密码,去修改数据库密码的骚操作(博客测试⽂章)以下命令适合修改任何mysql⽤户,仅以root为例。
⼀、拥有原来的myql的root的密码;# mysql -uroot -pEnter password: 【输⼊原来的密码】(如果安装完mysql第⼀次设置root密码,则直接回车)mysql>use mysql;mysql> update user set password=password("123456") where user='root';mysql> flush privileges;mysql> exit;第⼀种⽅法:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');第⼆种⽅法:mysqladmin -u⽤户名 -p旧密码 password 新密码第三种⽅法:update user set Password = password('root') where User='root';flush privileges;⼆、忘记原来的myql的root的密码;⾸先,你必须要有操作系统的root权限了。
也就说需要以root的⾝份登录到操作系统,然后进⾏⼀下操作。
1、编辑MySQL配置⽂件f,vi /etc/f#编辑⽂件,找到[mysqld],在下⾯添加⼀⾏skip-grant-tables[mysqld]skip-grant-tables:wq! #保存退出service mysqld restart #重启MySQL服务2、进⼊MySQL控制台mysql -uroot -p#直接按回车,这时不需要输⼊root密码。
3、修改root密码update er set password=password('123456') where User="root" and Host="localhost";flush privileges;grant all on *.* to 'root'@'localhost' identified by '123456' with grant option;4、取消/etc/f中的skip-grant-tablesvi /etc/f编辑⽂件,找到[mysqld],删除skip-grant-tables这⼀⾏:wq! #保存退出5、重启mysqlservice mysqld restart#重启mysql,这个时候mysql的root密码已经修改为1234566、进⼊mysql控制台mysql -uroot -p123456⼤功告成!⼆、修改数据库的密码1、⾸先要先知道,如果以root权限登录数据库的话,你可以看到mysql下有个user表,⾥⾯存储的是全部的⽤户信息,包括user,host,password,查询的命令:1select user,host,password from er;12、如果要修改⽤户的信息,则可以通过sql语句直接修改,例如,要修改⽤户名为admin 的密码为admin://查询所有的⽤户信息mysql>select user,host,password from er;//修改admin⽤户的密码mysql>update user set password=password('admin') where user='admin';//刷新权限表(必须)mysql>flush privileges;//修改成功之后要退出mysql数据库,重新登录⼀下mysql>exit;3、关于给⽤户授权的问题://登录MYSQL(有ROOT权限)。
设置成功后再启动MySQL服务:net start mysql启动后:c:\mysql5.5\bin\mysql-u root -p回车后会要求输入密码,这里密码为空,所以直接回车回车后,如果命令行显示"mysql>",表示登录成功输入下列命令修改root密码:SET PASSWORD FOR 'root'@'localhost' =PASSWORD('新密码'); SET PASSWORD FOR'root'@'127.0.0.1' = PASSWORD('新密码'); SET PASSWORD FOR'root'@'::1' = PASSWORD('新密码');SET PASSWORD FOR 'root'@'%' =PASSWORD('新密码');新手在这个上往往容易范错误,导致不能进入MYSQL。
我来做几个例子相信很快就明白了。
1、原来的密码是123456C:\>type mysql5.bat@echo offmysql -uroot -p123456 -P3306正确的修改MYSQL用户密码的格式是:我们这里用用户:root(可以换成其他的)密码:woshiduide来演示新密码。
C:\>mysqladmin -uroot -p password woshiduideEnter password: ******于是修改成功。
注意PASSWORD关键字后面的空格有好多人是这样修改的:C:\>mysqladmin -uroot -p password 'woshiduide'Enter password: ******C:\>mysqladmin -uroot -p password 'woshiduide'Enter password: *********Warning: single quotes were not trimmed fro m the password by your commandline client, as you might have expected.而这个时候真正的密码是'woshiduide'C:\>mysql -uroot -p'woshiduide'Welcome to the MySQL monitor. Commands end with ; or \g.Server version: 5.1.17-beta-community-nt-debug MySQL Community Server (GPL)Type 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql>而新手往往这样:C:\>mysql -uroot -pwoshiduideERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)所以非常郁闷,BAIDU、GOOGLE的搜了一大堆。
MySQL8.0设置远程访问权限的⽅法上⼀篇⽂章讲解了重置 MySQL 的密码,有同学反馈⽆法程连接到数据库,这是因为 MySQL 安装完成后只⽀持 localhost 访问,我们必须设置⼀下才可以远程访问,另外还有⼀些 MySQL 8.0 连接时的⼀些问题,本⽂也会⼀并进⾏讲解如何解决。
1.登录MySQLmysql -u root -p输⼊您的密码2.选择 mysql 数据库use mysql;因为 mysql 数据库中存储了⽤户信息的 user 表。
3.在 mysql 数据库的 user 表中查看当前 root ⽤户的相关信息select host, user, authentication_string, plugin from user;执⾏完上⾯的命令后会显⽰⼀个表格查看表格中 root ⽤户的 host,默认应该显⽰的 localhost,只⽀持本地访问,不允许远程访问。
4.授权 root ⽤户的所有权限并设置远程访问GRANT ALL ON *.* TO 'root'@'%';GRANT ALL ON 表⽰所有权限,% 表⽰通配所有 host,可以访问远程。
5.刷新权限所有操作后,应执⾏flush privileges;6.查看 root ⽤户的 host再次执⾏步骤 2,你会发现 root ⽤户的 host 已经变成 %,说明我们的修改已经成功,可以远程访问了。
7.访问数据库远程访问数据库的可视化⼯具⽐较多如:Navicat、SQLyog、MySQL workbench 等,我这⾥使⽤ Navicat输⼊访问的 host 和密码,报 2059 错误,这是因为 MySql8.0 版本和 5.0 的加密规则不⼀样,⽽现在的可视化⼯具只⽀持旧的加密⽅式。
此问题有两种⽅法,⼀种是更新 Navicat 驱动来解决此问题,另⼀种是将 MySQL ⽤户登录的加密规则修改为mysql_native_password,第⼀种⽅法我试过了没有起作⽤,我这⾥采⽤第⼆种⽅法。
Windows下mysql忘记root密码的解决方法:Mysql版本:5.1.55-community MySQL Community Server (GPL)1、首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:net stop mysql或者在windows任务管理器中结束mysqld.exe进程,或者在控制面板,管理工具里面的服务找到mysql,将其停止服务。
打开第一个cmd窗口,切换到mysql的bin目录,运行命令:mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables注释:该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。
"C:\Program Files\MySQL\MySQL Server 5.1\my.ini"指配置文件my.ini,一般在mysql安装目录里面。
如:===============================================================================C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables110301 9:20:07 [Warning] '--default-character-set' is deprecated and will be removed in a future release. Please use '--character-set-server' instead.110301 9:20:07 [Note] Plugin 'FEDERATED' is disabled.110301 9:20:07 InnoDB: Initializing buffer pool, size = 46.0M110301 9:20:07 InnoDB: Completed initialization of buffer pool110301 9:20:07 InnoDB: Started; log sequence number 0 44233110301 9:20:07 [Note] mysqld: ready for connections.Version: '5.1.55-community' socket: '' port: 3306 MySQL Community Server (GPL)2、打开第二个cmd窗口,连接mysql:输入命令:mysql -uroot -p出现:Enter password:在这里直接回车,不用输入密码。
Mysql开启远程连接⽅法分类:数据库开发技术解决MySQL不允许从远程访问的⽅法开启 MySQL 的远程登陆帐号有两⼤步:1、确定服务器上的防⽕墙没有阻⽌ 3306 端⼝。
MySQL 默认的端⼝是 3306 ,需要确定防⽕墙没有阻⽌ 3306 端⼝,否则远程是⽆法通过 3306 端⼝连接到 MySQL 的。
如果您在安装 MySQL 时指定了其他端⼝,请在防⽕墙中开启您指定的 MySQL 使⽤的端⼝号。
如果不知道怎样设置您的服务器上的防⽕墙,请向您的服务器管理员咨询。
2、增加允许远程连接 MySQL ⽤户并授权。
1)⾸先以 root 帐户登陆 MySQL在 Windows 主机中点击开始菜单,运⾏,输⼊“cmd”,进⼊控制台,MySQL 的 bin ⽬录下,然后输⼊下⾯的命令。
在 Linux 主机中在命令提⽰⾏下输⼊下⾯的命令。
CODE:> MySQL -uroot -p123456123456 为 root ⽤户的密码。
2)创建远程登陆⽤户并授权CODE:> grant all PRIVILEGES on discuz.* to ted@'123.123.123.123' identified by '123456';上⾯的语句表⽰将 discuz 数据库的所有权限授权给 ted 这个⽤户,允许 ted ⽤户在 123.123.123.123 这个 IP 进⾏远程登陆,并设置 ted ⽤户的密码为 123456 。
下⾯逐⼀分析所有的参数:all PRIVILEGES 表⽰赋予所有的权限给指定⽤户,这⾥也可以替换为赋予某⼀具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间⽤“,”半⾓逗号分隔。
discuz.* 表⽰上⾯的权限是针对于哪个表的,discuz 指的是数据库,后⾯的 * 表⽰对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某⼀数据库的全部表授权为“数据库名.*”,对于某⼀数据库的某⼀表授权为“数据库名.表名”。
mysql允许远程登录Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接,因此为了使其可以远程需要进行如下操作:一、允许root用户在任何地方进行,并具有所有库任何操作权限具体操作如下:在本机先使用root用户登录: mysql -u root -p"youpassword" 进行授权操作:重载授权表:FLUSH PRIVILEGES;退出mysql数据库:exit五、MYSQL权限详细分类:全局管理权限:FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。
数据库/数据表/数据列权限: ALTER:修改已存在的数据表(例如增加/删除列)和索引。
CREATE: 建立新的数据库或数据表。
DELETE: 删除表的记录。
DROP: 删除数据表或数据库。
INDEX: 建立或删除索引。
INSERT: 增加表的记录。
SELECT: 显示/表的记录。
UPDATE: 修改表中已存在的记录。
特别的权限: ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录--其它什么也不允许做。
LNMP一键包安装后解决MySQL无法远程连接问题2023-01-13 13:56出处:未知人气:279评论(0)MySQL问题重现:今天在阿里云VPS上安装军哥vpser的lnmp一键包,传送门后,MySQL可以通过phpmyadmin连接,但是无法通过SqlYog(Windows)或Sequel Pro(Mac)下进行远程连接,报出 2003 不能连接MySql服务器“XXXXXX”(10061)这样一个错误。
解决思路:之前也遇到过这个问题,解决的途径也是五花八门,从百度和Google上也看到各种解决方案,基本上分以下几种:MySQL/MariaDB无法远程连接,如何开启?直接通过iptables进行操作再次测试下,MySQL已经可以远程登录了。
修改Linux中的root密码(一)假设忘记了root的密码该怎么办?下面介绍一种最简单也是最常用的办法:1、开机启动显示grub引导界面时,按e键。
2、选择kernel /boot/vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/rhgh quiet再按e键,则变为grub edit>kernel /boot/vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/rhgh quiet。
注:不同的Linux版本所选择的会有所不同,但跟这里选择的类似。
3、将grub edit>kernel /boot/vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/rhgh quiet 改为ggrub edit>kernel /boot/vmlinuz-2.6.23.1-4、.fc8 single ro root=LABEL=/rhgh quiet。
注:在中间添加了“single”4、按回车键返回,再按b键启动系统来进入到命令行:sh-3.2#5、#cp /etc/passwd /etc/passwd_backup注:修改Linux的任何一个系统文件前,最好先保存一个副本。
#vi /etc/passwd 注:打开passwd文件将首行:root:x:0:0:root:/root:/bin/bash改为:root::0:0:root:/root:/bin/bash(去掉了x),好了,保存退出。
6、reboot 重新启动7、就可以以root的身份进入系统了,密码为空,进入系统后,要记得设置新的密码(passwd root改密码)。
(二)UBUNTU中如何修改root密码在终端输入:sudo passwd root 然后回车,输入你现在使用的这个帐号的密码,然后就可以设置root的密码了. 进入root状态.命令: su root 然后输入你设置好的密码就OK了. ubuntu 其实可以用root登录的,在系统\系统管理\登录窗口首选项的安全选项夹中勾上允许本地系统管理员登录即可,不过不建议这样做,因为不安全。
mysql 57 初始密码设置规则MySQL 5.7 初始密码设置规则MySQL 5.7 是一款广泛使用的关系型数据库管理系统,安装完成后,必须设置初始密码以保护数据库的安全性。
本文将为您介绍 MySQL5.7 初始密码设置规则,以帮助您正确设置密码并提高数据库的安全性。
一、MySQL 5.7 初始密码设置的必要性1. 数据库安全性:初始密码设置可以防止未经授权的访问和潜在的安全威胁。
2. 防止破解:强密码的设置可以有效防止密码破解和暴力破解攻击。
3. 提供管理员权限:初始密码可以为管理员提供完整的数据库管理权限。
二、MySQL 5.7 初始密码设置的方法在安装 MySQL 5.7 之后,您必须通过以下步骤设置初始密码。
1. 打开终端或命令提示符:根据您的操作系统,打开终端窗口或命令提示符。
2. 运行 MySQL 服务:使用适当的命令运行 MySQL 服务。
例如,在 Linux 下,您可以使用以下命令:`sudo systemctl start mysql`;在Windows 下,您可以通过打开“服务”面板来启动 MySQL 服务。
3. 登录 MySQL:使用 root 用户名和空密码登录 MySQL。
在终端或命令提示符中,输入以下命令并按下回车键:`mysql -u root -p`。
4. 设置初始密码:登录成功后,您将进入 MySQL 的命令行界面。
输入以下命令来设置初始密码,并按下回车键:```ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';```请将 `your_password` 替换为您要设置的实际密码。
为了提高安全性,建议使用强密码,包含字母、数字和特殊字符。
5. 刷新权限:在设置密码后,您需要刷新权限以使新密码立即生效。
使用以下命令刷新权限:```FLUSH PRIVILEGES;```6. 退出 MySQL:一旦初始密码设置成功,您可以使用以下命令退出 MySQL 命令行界面:```EXIT;```三、MySQL 5.7 初始密码设置的注意事项1. 备份密码:在设置初始密码之前,请记得备份您的密码。
简述重置root用户密码的过程步骤。
重置 root 用户密码的过程可以分为以下步骤:
1. 重新启动 Linux 系统,在引导界面按下 Enter 或 E 键,进入内核编辑模式。
2. 在内核编辑模式下,找到 ro 选项并修改其内容为rwinitsysrootbinsh,其中 rw 表示可读写权限,initsysroot 表示进入系统根目录,binsh 表示当前目录为系统根目录的 shell 命令。
3. 按下 Ctrl+X 键进入紧急模式,依次执行以下命令:
- chrootSYSROOT:进入系统根目录
- passwd:修改 root 用户的密码
- touch.autorelabel:创建文件,让系统重新启动时能够识别修改
- exit:退出 chroot 模式
- reboot:重启系统
4. 在系统重新启动后,root 用户的密码已经被重置,可以登录到系统中,也可以选择使用其他用户账号登录系统。
需要注意的是,在执行密码重置操作时,需要确保系统没有启用SELinux 等安全软件,因为它们可能会阻止密码修改操作。
如果系统已经启用了 SELinux,则需要执行 touch.autorelabel 命令来更新系统信息,使密码修改生效。
我们可以按照下面的步骤修改:
1, 登录Mysql-Server 连接本地mysql (默认只允许本地连接)
2, 修改Mysql-Server 用户配置
mysql> USE mysql; -- 切换到 mysql DB
Database changed
mysql> SELECT User, Password, Host FROM user; -- 查看现有用户,密码及允许连接的主机
+------+----------+-----------+
| User | Password | Host |
+------+----------+-----------+
| root | | localhost |
+------+----------+-----------+
1 row in set (0.00 sec)
mysql> -- 只有一个默认的 root 用户, 密码为空, 只允许 localhost 连接
12
mysql> -- 下面我们另外添加一个新的 root 用户, 密码为空, 只允许
192.168.1.100连接
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' IDENTIFIED BY '' WITH GRANT OPTION;
mysql> -- @'192.168.1.100'可以替换为@‘%’就可任意ip访问,当然我们也可以直接用 UPDATE 更新 root 用户 Host, 但不推荐, SQL如下:
mysql> -- UPDATE user SET Host='192.168.1.100' WHERE User='root' AND Host='localhost' LIMIT 1;
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
修改root密码。