`
isiqi
  • 浏览: 16551417 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

MYSQL重新初始化用户帐号(比如root忘了)

阅读更多
mysql安装好之后,root密码是空的
mysql -u root -p
就可以进入了
然后可以更改密码
use mysql;
update user set password=password('msn') where user='root';
flush privileges;

另外mysql安装好之后,user表里会有多个用户,可以自己整理一下,不要的就删除
3月22日
MYSQL重新初始用户帐号(比如root忘了)
邮件列表中看到的:
not sure, but it may be worth trying the following

run the script:
mysql_install_db --user=root
In the installation dir

this should change ownership and make mysql recognise the data dir.

good luck
Ade

Foo Ji-Haw wrote:

> Hi all,
>
> My Windows-based database server crashed (no fault of MySQL. probably
> OS or hardware), and I managed to copy out the data files. I am using
> version 5.0 of the Essentials package.
>
> I tried to install a similar setup on another server, then copy the
> data\ folder over. The MySQL service starts, but I am not able to
> login, even as root.
>
> Is there anyone who can advise me on the recovery steps?
>
> Appreciate your feedback!
>
之后又有人回邮件,给了一个mysql手册的链接
?

A.4.1.?How to Reset the Root Password

If you have never set a root password for MySQL, the server does not require a password at all for connecting as root. However, it is recommended to set a password for each account. See Section?5.7.1, “General Security Guidelines”.

If you set a root password previously, but have forgotten what it was, you can set a new password. The following procedure is for Windows systems. The procedure for Unix systems is given later in this section.

The procedure under Windows:

  1. Log on to your system as Administrator.

  2. Stop the MySQL server if it is running. For a server that is running as a Windows service, go to the Services manager:

    Start Menu -> Control Panel -> Administrative Tools -> Services
    

    Then find the MySQL service in the list, and stop it.

    If your server is not running as a service, you may need to use the Task Manager to force it to stop.

  3. Create a text file and place the following command within it on a single line:

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
    

    Save the file with any name. For this example the file will be C:\mysql-init.txt.

  4. Open a console window to get to the DOS command prompt:

    Start Menu -> Run -> cmd
    
  5. We are assuming that you installed MySQL to C:\mysql. If you installed MySQL to another location, adjust the following commands accordingly.

    At the DOS command prompt, execute this command:

    C:\> C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt
    

    The contents of the file named by the --init-file option are executed at server startup, changing the root password. After the server has started successfully, you should delete C:\mysql-init.txt.

    If you install MySQL using the MySQL Installation Wizard, you may need to specify a --defaults-file option:

    C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe"
             --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini"
             --init-file=C:\mysql-init.txt
    

    The appropriate --defaults-file setting can be found using the Services Manager:

    Start Menu -> Control Panel -> Administrative Tools -> Services
    

    Find the MySQL service in the list, right-click on it, and choose the Properties option. The Path to executable field contains the --defaults-file setting.

  6. Stop the MySQL server, then restart it in normal mode again. If you run the server as a service, start it from the Windows Services window. If you start the server manually, use whatever command you normally use.

  7. You should be able to connect using the new password.

In a Unix environment, the procedure for resetting the root password is as follows:

  1. Log on to your system as either the Unix root user or as the same user that the mysqld server runs as.

  2. Locate the .pid file that contains the server's process ID. The exact location and name of this file depend on your distribution, hostname, and configuration. Common locations are /var/lib/mysql/, /var/run/mysqld/, and /usr/local/mysql/data/. Generally, the filename has the extension of .pid and begins with either mysqld or your system's hostname.

    You can stop the MySQL server by sending a normal kill (not kill -9) to the mysqld process, using the pathname of the .pid file in the following command:

    shell> kill `cat /mysql-data-directory/host_name.pid`
    

    Note the use of backticks rather than forward quotes with the cat command; these cause the output of cat to be substituted into the kill command.

  3. Create a text file and place the following command within it on a single line:

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
    

    Save the file with any name. For this example the file will be ~/mysql-init.

  4. Restart the MySQL server with the special --init-file=~/mysql-init option:

    shell> mysqld_safe --init-file=~/mysql-init &
    

    The contents of the init-file are executed at server startup, changing the root password. After the server has started successfully you should delete ~/mysql-init.

  5. You should be able to connect using the new password.

Alternatively, on any platform, you can set the new password using the mysql client(but this approach is less secure):

  1. Stop mysqld and restart it with the --skip-grant-tables --user=root options (Windows users omit the --user=root portion).

  2. Connect to the mysqld server with this command:

    shell> mysql -u root
    
  3. Issue the following statements in the mysql client:

    mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
        ->                   WHERE User='root';
    mysql> FLUSH PRIVILEGES;
    

    Replace “newpwd” with the actual root password that you want to use.

  4. You should be able to connect using the new password.

分享到:
评论

相关推荐

    mysql安装文档说明

    运行`/usr/bin/mysql_install_db`命令初始化数据库,然后使用`service mysql start`启动MySQL服务。此时,可以通过查看`/root/.mysql_secret`文件获取临时生成的root用户的密码。 为了安全起见,建议立即更改root...

    mysql-5.6.36-linux.tar.gz

    运行`scripts/mysql_install_db`脚本,这会初始化数据库并设置默认的权限: ```bash sudo ./scripts/mysql_install_db --user=mysql ``` 安装完成后,我们需要创建一个系统服务脚本来管理MySQL的启动和停止。创建...

    linux离线安装mysql教程

    初始化MySQL数据库是安装过程中的关键步骤。进入`mysql-5.7.18/bin`目录,执行`./mysqld --initialize --user=mysql --datadir=/opt/mysql/data --basedir=/opt/mysql-5.7.18`,这会生成一个临时的root用户的随机...

    Ubuntu下MySQL数据库安装后初步设置

    在Ubuntu操作系统中安装...总结来说,Ubuntu下MySQL数据库安装后的初步设置主要包括设置root用户密码、调整远程访问权限、创建新用户并分配权限以及处理编码问题。这些步骤对于确保数据库的安全性和正常使用至关重要。

    mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz在Linux下安装步骤

    8. **更改权限**:使用`chown`和`chmod`命令授予`root`用户对某些目录的读写权限,并确保`mysql`用户对`data`和`mysql-files`有适当权限。 9. **添加启动脚本**:将MySQL的启动脚本复制到系统服务目录,`cp support...

    mysql免安装版安装配置.zip

    要实现这一点,你可以使用MySQL的初始化脚本来创建一个新用户。在命令行中,导航到MySQL的bin目录,然后运行以下命令: ``` mysqld --initialize-insecure --user=mysql ``` 这将创建一个没有密码的root用户。然后...

    RedHat 5.4 Linux系统下安装MYSQL

    在RedHat 5.4 Linux系统中安装MySQL5.0是一个关键的过程,涉及到多个步骤,包括下载和安装源代码、配置文件、用户权限设定以及数据库初始化。以下是对这些步骤的详细解释: 1. **下载与安装**: 首先,你需要获取...

    mysql-8.0.20-macos10.15-x86_64.tar.gz

    初始化 mysqld cd /usr/local/mysql sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 其中: basedir 是指你的mysql安装在哪儿了。 (具体需要换成你...

    mysql单机安装.docx

    总结来说,Linux环境下安装MySQL单机版涉及规划目录、下载安装包、初始化数据库、设置服务、修改密码、配置远程访问等多个步骤。正确执行这些步骤,可以确保MySQL在Linux系统上顺利运行。在整个过程中,安全性和稳定...

    mysql5.7.20数据库的二进制安装部署1

    9. **初始化MySQL**: 执行MySQL的初始化脚本,创建数据目录并设置初始密码等。 ``` [root@test-1 ~]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql ``` 10. **启动MySQL服务**: 启动...

    mysql-8.0.16-winx64.zip

    3. **初始化数据库**:进入解压后的"bin"目录,通过运行`mysqld --initialize-insecure`命令来初始化数据库实例。这会创建一个匿名用户和一个root用户,初始密码为空。 4. **启动MySQL服务**:使用`mysqld.exe`...

    win版64位mysql5.7安装包 winx64mysql-5.7.19 .zip

    2. 初始化安装:运行解压后的setup.exe文件,这会启动MySQL安装向导。选择“Custom”安装类型,以便自定义安装路径和组件。 3. 设置配置:在“Configuration Type”选项中,如果你的服务器主要用作开发或测试环境,...

    安装mysql-8.0.21附件

    安装完成后,需要初始化MySQL数据库: ```bash sudo /usr/local/mysql/bin/mysqld --initialize-insecure ``` 启动MySQL服务并设置为开机启动: ```bash sudo systemctl start mysqld sudo systemctl enable ...

    CentOS 7 安装 Mysql 8.docx

    在安装过程中,你可能会遇到初始化MySQL的问题。运行`mysqld --initialize`来初始化数据库,这将创建默认的系统用户和文件。注意,MySQL 8.0版本以后,需要将 `/var/lib/mysql` 目录的所有权更改为`mysql:mysql`用户...

    mysql-8.0.21-el7-x86-64.tar.gz

    在解压后的目录中,你将找到配置脚本`scripts/mysql_install_db`,用于初始化MySQL的数据目录。执行如下命令: ``` sudo ./scripts/mysql_install_db --user=mysql ``` 3. **设置权限和权限组**: MySQL需要...

    Linux平台搭建MySQL数据库完整版步骤

    切换到MySQL的`bin`目录,并运行初始化命令,这将创建默认的数据库和用户。 ```bash cd /usr/local/mysql/bin/ mysqld --initialize --user=mysql ``` 初始化完成后,会显示一个临时的root用户的密码。 10. *...

    mysql5.7 修改用户初始密码的方法

    - MySQL支持四种隔离级别:读未提交(Read Uncommitted)、读已提交(Read Committed)、可重复读(Repeatable Read,MySQL默认级别)和串行化(Serializable)。 - 不同的隔离级别解决了并发问题,如脏读、不可...

    统信系统(UOS)amd64 mysql5.7离线安装包(亲测,没有任何问题)

    6. **初始化MySQL**:安装完成后,需要初始化MySQL服务,通常通过执行 `mysql_secure_installation` 脚本来完成。此脚本会引导你设置root用户的密码,删除匿名用户,禁止远程root登录等安全措施。 7. **启动MySQL...

    mysql5.7安装文件

    为了安全起见,MySQL 5.7在安装后会自动执行一个初始化脚本,设置root用户的默认密码。你可以通过查看日志来找到这个临时密码,日志文件通常位于/var/log/mysqld.log。 然后,使用临时密码登录MySQL: ``` mysql -...

    centos6.5安装mysql5.6

    但别忘了初始化数据库,设置root用户的密码,以及启动和设置MySQL服务为开机启动。这些步骤包括: 1. 初始化数据库:`/opt/mysql/bin/mysqld --defaults-file=/opt/mysql/my.cnf --user=mysql --initialize-...

Global site tag (gtag.js) - Google Analytics