Mysql教程:教你为root用户指定一个目录

   在你自己安装了一个新的MySQL服务器后,你需要为MySQL的root用户指定一个目录(缺省无口令),否则如果你忘记这点,你将你的MySQL处于极不安全的状态(至少在一段时间内)。

  在Unix(Linux)上,在按照手册的指令安装好MySQL后,你必须运行mysql_install_db脚本建立包含授权表的mysql数据库和初始权限。在Windows上,运行分发中的Setup程序初始化数据目录和mysql数据库。假定服务器也在运行。

  当你第一次在机器上安装MySQL时,mysql数据库中的授权表是这样初始化的:

  你可以从本地主机(localhost)上以root连接而不指定口令。root用户拥有所有权限(包括管理权限)并可做任何事情。(顺便说明,MySQL超级用户与Unix超级用户有相同的名字,他们彼此毫无关系。)

  匿名访问被授予用户可从本地连接名为test和任何名字以test_开始的数据库。匿名用户可对数据库做任何事情,但无管理权限。

  从本地主机多服务器的连接是允许的,不管连接的用户使用一个localhost主机名或真实主机名。如:

  % mysql -h localhost test

  % mysql -h pit.snake.net test

  你以root连接MySQL甚至不指定口令的事实只是意味着初始安装不安全,所以作为管理员的你首先要做的应该是设置root口令,然后根据你设置口令使用的方法,你也可以告诉服务器重载授权表是它知道这个改变。(在服务器启动时,它重载表到内存中而可能不知道你已经修改了它们。)

  对MySQL 3.22和以上版本,你可以用mysqladmin设置口令:

  % mysqladmin -u root password yourpassword

  对于MySQL的任何版本,你可以用mysql程序并直接修改mysql数据库中的user授权表:

  % mysql -u root mysql

  mysql>UPDATE user SET password=PASSWORD("yourpassword") WHERE User="root";

  如果你有MySQL的老版本,使用mysql和UPDATE。

  在你设置完口令后,通过运行下列命令检查你是否需要告诉服务器重载授权表:

  % mysqladmin -u root status

  如果服务器仍然让你以root而不指定口令而连接服务器,重载授权表:

  % mysqladmin -u root reload

  在你设置了root的口令后(并且如果需要重载了授权表),你将需要在任何时候以root连接服务器时指定口令。

时间: 2024-09-24 07:48:56

Mysql教程:教你为root用户指定一个目录的相关文章

mysql忘记密码 强制修改root用户密码

注 --skip-grant-tables 可以关闭权限验证 1.修改 mysql配置文件 在 [mysqld] 下面 加一行配置 --skip-grant-tables ,重启mysql 2.找到mysql所在 目录 bin 目录,运行命令行 mysql -u root 3.  代码如下 复制代码 use mysql; update user set password=password('新密码') where user='root'; 4. 修改 mysql配置文件 在 [mysqld] 下

mysql开启root用户可远程登录方法

开启 MySQL 的远程登陆帐号有两大步: 1.确定服务器上的防火墙没有阻止 3306 端口. MySQL 默认的端口是 3306 ,需要确定防火墙没有阻止 3306 端口,否则远程是无法通过 3306 端口连接到 MySQL 的. 如果您在安装 MySQL 时指定了其他端口,请在防火墙中开启您指定的 MySQL 使用的端口号. 如果不知道怎样设置您的服务器上的防火墙,请向您的服务器管理员咨询. 2.增加允许远程连接 MySQL 用户并授权. 1)首先以 root 帐户登陆 MySQL 在 Wi

在Linux系统安装Mysql教程_Mysql

引言 现在因为项目的需要在搭建Mysql的集群,从最简单的开始,先安装一个Mysql 在linux系统下. 步骤: 第一步:安装: tarmysql-5.5.48-linux2.-x86_64.tar.gz Copy到指定的路径下: cpmysql-5.5.48-linux2.6-x86_64 /usr/local/mysql -r 添加系统mysql组合mysql用户: 执行命令:groupaddmysql和useradd -r -g mysql mysql 安装数据库: 进入安装mysql软

CentOS 6.5 安装 MySQL 5.6.17 并修改MySQL的root用户密码

单机搭建CentOS-6.5安装MySQL 5.6.17并修改MySQL的root用户密码 Mysql 5.5以后使用了CMake进行安装,参考与以前的区别请参考: http://www.blogjava.net/kelly859/archive/2012/09/04/387005.html   接上文. 1:下载:当前mysql版本到了5.6.17 wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17.tar.gz 2:必

mysql root 用户无法远程登陆问题

今天使用mysql workbench 连接vmware上的mysql时,一直无法连接,查阅了网上的相关资料之后,收集了一些解决方法: 1.授权法:mysql的root用户默认情况下只能在本地登陆,不能远程,若远程连接,需要授权:  代码如下 复制代码     mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;     mysql>FLUSH PRIVILEGES;     ('root'@'%',指定root用

更改root密码和恢复MySQL root用户

更改root密码和恢复mysql教程 root用户 我不小心删除了mysql的root帐号.我该怎么办?"和"我失去了我的根密码?这种问题经碰到,那么你碰这类问题时是备份数据,重新安装mysql和恢复所有数据库教程文件?还是怎么办,我们现在为你找到一个更好的办法. 1.停止mysql , 2.服务器权限 c:www.111cn.netbinmysqld-nt.exe --skip-grant-tables     where c:www.111cn.net is mysql'insta

MySQL root用户登录的几个小问题(r12笔记第67天)

  今天和同事聊了聊技术的事情,聊到BAT里面的一些高大上的系统和设计,相比总是会有些差距,不过像那样体量的公司知识沉淀很深,所以能够做好我们力所能及的事情,把它细化做好,也是一种进步和改进.    如果你老是觉得自己的环境受限,有各种KPI或者是成本的考量,做事情从下往上去推动很难,这些都是实际的困难,很多公司都是存在这样的问题的.在资源受限方面,我尤其纠结,举个有意思的小例子,如果我收到一条报警,提示数据库表空间不足了,那就添加一个数据文件呗,结果数据库层面的空间问题解决了,而马上会收到一个

如何修改遗失的MySQL的ROOT用户密码

如果忘记了 MySQL 的 root 密码,可以用以下方法重新设置: 1. KILL掉系统里的MySQL进程: 2. 用以下命令启动MySQL,以不检查权限的方式启动: mysqld_safe -skip-grant-tables & 3. 然后用空密码方式使用root用户登录 MySQL: mysql -u root 4. 修改root用户的密码: mysql> update mysql.user set password=PASSWORD('新密码') where User='root'

如何重设MYSQL数据库ROOT用户的密码

一.在已知MYSQL数据库的ROOT用户密码的情况下,修改密码的方法: 1.在SHELL环境下,使用mysqladmin命令设置:mysqladmin –u root –p password "新密码"   回车后要求输入旧密码 2.在mysql>环境中,使用update命令,直接更新mysql库user表的数据: Update mysql.user  set  password=password('新密码')  where  user='root'; flush   privi