初次登入mysql数据库_如何解决mysql数据库初次登录时无法登录问题

本文主要向大家介绍了mysql数据库初次登录时无法登录问题,通过具体的实例让大家了解,希望对大家学习mysql有所帮助。

mysql数据库初次登录时无法登录问题

#1.停止mysql数据库

/etc/init.d/mysqld stop

#2.执行如下命令

mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

#3.使用root登录mysql数据库

mysql -u root mysql

#4.更新root密码

mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';

#最新版MySQL请采用如下SQL:

mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';

#5.刷新权限

mysql> FLUSH PRIVILEGES;

#6.退出mysql

mysql> quit

#7.重启mysql

/etc/init.d/mysqld restart

#8.使用root用户重新登录mysql

mysql -uroot -p

Enter password:

允许远程用户登录访问mysql的方法

需要手动增加可以远程访问数据库的用户。

方法一、本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%"

#mysql -u root -proot

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;

方法二、直接授权(推荐)

从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:

MySQL登录时出现 Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) 的原因及解决办法。

# mysql -u root -h 192.168.194.142 -p

Enter password:

ERROR 1045 (28000): Access denied for user 'root'@'192.168.194.142' (using password: YES)

【解决办法】

1. 先用localhost登录

# mysql -u root -p

Enter password:

2. 执行授权命令

mysql> grant all privileges on *.* to root@'%' identified by '123';

Query OK, 0 rows affected (0.07 sec)

3. 退出再试

mysql> quit

Bye

再试登录:

# mysql -u root -h 192.168.194.142 -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.6.33 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

成功啦!

下面详细说说如何给用户授权。

mysql> grant 权限1,权限2, ... 权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';

权限1,权限2,... 权限n 代表 select、insert、update、delete、create、drop、index、alter、grant、references、reload、shutdown、process、file 等14个权限。

当权限1,权限2,... 权限n 被 all privileges 或者 all 代替时,表示赋予用户全部权限。

当 数据库名称.表名称 被 *.* 代替时,表示赋予用户操作服务器上所有数据库所有表的权限。

用户地址可以是localhost,也可以是IP地址、机器名和域名。也可以用 '%' 表示从任何地址连接。

'连接口令' 不能为空,否则创建失败。

举几个例子:

mysql> grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by ‘123′;

给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

mysql> grant all privileges on vtdc.* to joe@10.163.225.87 identified by ‘123′;

给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。

mysql> grant all privileges on *.* to joe@10.163.225.87 identified by ‘123′;

给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

mysql> grant all privileges on *.* to joe@localhost identified by ‘123′;

给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

FLUSH PRIVILEGES

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

### 安装准备 为了在 aarch64 架构上成功安装 MySQL 5.6,需先确认操作系统环境已准备好。通常情况下,在 ARM 平台上推荐使用较新的 Linux 发行版来获得更好的兼容性和性能。 ### 下载 MySQL 5.6 压缩包 下载适用于 aarch64 的 MySQL 5.6 版本压缩文件: ```bash wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.44-aarch64.tar.gz ``` 解压该 tarball 文件到 `/usr/local` 目录下[^2]: ```bash tar xzvf mysql-5.6.44-aarch64.tar.gz -C /usr/local/ ``` ### 配置 MySQL 环境 移动解压后的目录至标准位置并创建必要的日志和数据存储路径: ```bash mv /usr/local/mysql-5.6.44-aarch64 /usr/local/mysql mkdir -p /usr/local/mysql/logs mkdir -p /data/mysql chown -R mysql:mysql /usr/local/mysql chown -R mysql:mysql /data/mysql ``` 设置 MySQL 初始化脚本以及启动项链接[^3]: ```bash cp support-files/mysql.server /etc/init.d/mysql ln -s /usr/local/mysql/bin/* /usr/sbin/ ``` ### 初始化数据库实例 执行如下命令完成首次初始化工作,注意这里会生成临密码用于后续登录验证: ```bash /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql ``` ### 修改配置文件 编辑 my.cnf 或 mysqld.cnf 来适应当前硬件条件和个人需求。一般位于 `/etc/my.cnf` 或者 `/etc/mysql/my.cnf`. 确保 socket 和 datadir 参数指向正确的位置: ```ini [mysqld] socket = /tmp/mysql.sock datadir = /data/mysql ... ``` ### 启动服务 通过 service 工具开启 MySQL 服务,并将其设为开机自启: ```bash service mysql start chkconfig --add mysql chkconfig mysql on ``` 此应该能够正常使用 `mysql -u root -p` 服务器了。如果遇到权限拒绝错误,则可能是因为未正确处理 SELinux 设置或是忘记赋予足够的访问控制权限给新建立的数据目录[^4]. 对于初次提示 access denied 错误的情况,可以通过跳过授权表的方式重置 root 密码: ```sql -- 使用安全模式启动 MySQL 跳过权限校验 mysqld_safe --skip-grant-tables & -- 进 MySQL 控制台修改密码 mysql -uroot FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; EXIT; -- 正常重启 MySQL 服务使更改生效 killall mysqld service mysql restart ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值