系统运维
为了演示,找个测试环境来操作,千万不要线上这么搞
pkill mysqld 关闭掉Mysql
跳过MYSQL的权限表启动MySQL服务:
--skip-grant-tables启动mysql
/usr/local/mysql8013/bin/mysqld_safe --defaults-file=/data/mysql8/my8.cnf --skip-grant-tables &
将密码置空:
root@localhost [(none)]>update mysql.user set authentication_string=\'\' where user=root and host=localhost;
Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed: 1 Warnings: 0
root@localhost [(none)]>
pkill mysqld 关闭掉mysql
再次启动mysql服务
[root@localhost ~]# /usr/local/mysql8013/bin/mysqld --defaults-file=/data/mysql8/my8.cnf &
无密码登录MySQL服务并设置新的密码:
root@localhost [(none)]>select version();
+-----------+
| version() |
+-----------+
| 8.0.13 |
+-----------+
root@localhost [(none)]>alter user user() identified by \'jist558@wei\';
[root@localhost ~]# mysql -uroot -p\'jist558@wei\' -e "select version();"
mysql: [Warning] Using a password on the command line interface can be insecure.
+-----------+
| version() |
+-----------+
| 8.0.13 |
+-----------+
密码写入.my.cnf文件就可以mysql直接登录mysql窗口:
[root@localhost ~]# cat .my.cnf
[mysql]
prompt=\\u@\\h:\\p \\R:\\m:\\s[\\d]>
no-auto-rehash
user=root
password=jist558@wei
[root@localhost ~]# mysql -e select version();
+-----------+
| version() |
+-----------+
| 8.0.13 |
+-----------+
演示完毕