Linux MySQL初始化问题

本文围绕MySQL展开,介绍了MySQL5.7以上root用户临时密码的获取与修改方法,包括忘记密码时的处理;还阐述了Navicate连接MySQL出现2003(10060)和1130错误的原因及解决办法;最后针对dhcp无法访问网络的问题,给出了重启网络服务等解决方案。

一、密码

MySQL5.7以上root用户会随机生成一个密码,存于error日志中,RPM包安装默认是在/var/log/mysqld。log中

mysql> select @@log_error;
+---------------------+
| @@log_error         |
+---------------------+
| /var/log/mysqld.log |
+---------------------+
1 row in set (0.00 sec)

 通过# grep "password" /var/log/mysqld.log 命令可获取MySQL默认临时密码

2020-12-01T12:00:55.050763Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: t%/k5CpNh0fi

其中t%/k5CpNh0fi就是默认的临时密码

登录服务后,需要立即更改密码,否则做其他任何操作都会报错

修改密码

若只是修改一个简单密码也会报错,密码不够安全

mysql>  ALTER USER USER() IDENTIFIED BY '12345678';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

查看密码安全等级

mysql> show variables like'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+

mysql> select @@validate_password.policy;
+----------------------------+
| @@validate_password.policy |
+----------------------------+
| MEDIUM                     |
+----------------------------+
mysql> select @@validate_password.length;
+----------------------------+
| @@validate_password.length |
+----------------------------+
|                          8 |
+----------------------------+

PolicyTests Performed
0 or LOWLength
1 or MEDIUM Length;numeric, lowercase/uppercase, and special characters
2 or STRONG Length;numeric, lowercase/uppercase, and special characters; dictionary file

 可根据自己需求修改:

set global validate_password_policy=0;
set global validate_password.length=6;

忘记密码,修改密码

在 /etc/my.cnf文件中添加  skip-grant-tables ,(windows下修改的是my.ini),定位到[mysqld]文本下

#vim /etc/my.cnf

 

重启MySQL服务,并修改密码,最后再将/etc/my.cnf文件中skip-grant-tables去掉,并再次重启MySQL服务;

systemctl restart mysqld

修改密码

alter user 'root'@'localhost' identified by '密码';

二、navicate链接错误

1、2003(10060)错误

    原因是防火墙问题

  • 关闭防火墙
//停止
systemctl stop firewalld.service
//禁止开机启动
systemctl disable firewalld.service

  • 设置防火墙开放端口
//这里发现防火墙是开启的,再来查看防火墙控制的端口
systemctl status firewalld
//查看防火墙控制的端口
firewall-cmd --list-all
//永久开启3306端口
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
//重载防火墙
sudo firewall-cmd --reload

 2、1130错误

默认root用户只允许本机访问,查看可访问用户

select host,user from user; 

修改user表的值即可

update user set host = '%' where user = 'root';
flush privileges;
mysql> select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | root             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
+-----------+------------------+

三、dhcp无法无法访问网络

重启网络服务即可

systemctl restart network

若提示先面错误,测需要关闭NetworkManager

Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.

#临时关闭
systemctl stop NetworkManager
#永久关闭
systemctl disable NetworkManager

之后重启网络服务即可

【究极详细版】Ubuntu安装配置MySQL_ubuntu配置mysql-优快云博客

### Linux 环境下 MySQL 初始化命令及相关操作 在 Linux 系统中,MySQL初始化主要涉及创建初始数据目录、生成必要的系统表以及设置管理员账户等。以下是关于 MySQL 初始化的相关命令及其说明。 #### 初始数据库的脚本分析 通过 `mysql_install_db` 脚本可以完成 MySQL 数据库的初始化工作。该工具的主要功能包括创建默认的数据目录结构并填充基础元数据[^1]。具体命令如下: ```bash /usr/bin/mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql ``` 上述命令中的参数解释: - `--user=mysql`: 指定运行 MySQL 服务的用户为 `mysql`。 - `--basedir=/usr`: 设置 MySQL 基础路径。 - `--datadir=/var/lib/mysql`: 配置存储数据的具体位置。 需要注意的是,在较新的 MySQL 版本中,官方建议使用 `mysqld --initialize` 替代传统的 `mysql_install_db` 工具[^5]。 #### 使用 `mysqld --initialize` 进行初始化 对于现代版本的 MySQL(如 5.7 及以上),推荐采用以下方式执行初始化操作: ```bash mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql ``` 此方法会自动生成随机 root 密码,并将其记录到错误日志文件中。可以通过查看 `/var/log/mysqld.log` 文件找到临时密码。 #### 启动 MySQL 服务 一旦初始化成功,则需启动 MySQL 服务以便进一步配置和管理实例。常见的启动命令有以下两种形式之一[^2]: ```bash service mysqld start ``` 或者, ```bash /etc/init.d/mysqld start ``` 如果遇到任何异常情况,请参照错误日志定位问题所在,并调整相应配置项后再尝试重启服务[^4]。 #### 安全加固向导 为了增强安全性,应立即运行安全强化程序 `mysql_secure_installation` 来更改默认设置: ```bash mysql_secure_installation ``` 它引导用户逐步完成一系列重要选项的选择,比如重设 root 用户密码、移除匿名访问权限、封锁远程连接请求等。 --- ### 注意事项 在正式部署前还需确认当前环境中是否存在冲突软件包,例如 MariaDB 或其他版本的 MySQL 组件[^3]。可利用 RPM 查询命令排查潜在干扰因素: ```bash rpm -qa | grep mysql rpm -qa | grep mariadb ``` 若有重复安装现象发生,则优先卸载必要的遗留组件以免引发兼容性隐患。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值