Ubuntu、dnf安装MySQL


一,安装

dnf install https://repo.mysql.com//mysql80-community-release-el9-1.noarch.rpm

dnf install mysql-server

1.sudo apt-get install mysql-server

2.sudo apt-get install mysql-client

3.sudo apt-get install libmysqlclient-dev

4.安装前最好 sudo apt-get update和sudo apt-get upgrade一下

5.第一条命令可能会出现要你输入默认密码的情况,我是ssh登录没有输入密码的提示

6,到此不出错就可以mysql -u root -p登录数据库了

二,忘记密码重置密码

1.systemctl stop mysqld 或者 /etc/ini.d/mysqld stop 停运数据库

2.systemctl status mysqld 或者 /etc/ini.d/mysqld status 查看是否停止

3.vim /etc/my.cnf文件

添加skip_grant_tables 一行,然后保存退出

4.systemctl start mysqld 启动数据

5.systemctl status mysqld 查看是否启动

6.如果成功直接输入mysql 则可以直接进入数据库

update mysql.user set authentication_string=password('你的密码')   where user='root' and host='localhost';

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

7.输入上面的sql语句直接修改mysql库中user表的相关记录,重设root用户从本机登录的密码

8.刷新授权列表

FLUSH PRIVILEGES;

9.exit 退出数据库

10.重复1,2,3步骤,还原/etc/my.cnf文件

11.mysql -u root -p试试新密码是否成功

三,远程访问mysql

1.登录数据运行use mysql查看host是否为"%",不是的话,运行

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

因为host会限制访问的IP,或者

GRANT ALL PRIVILEGES on *.* to 'root'@'%' identified by '你的密码';
上面这段报错4200,可能是数据库表中没有‘%’这个host,需要执行先执行create操作

2.刷新授权列表

FLUSH PRIVILEGES;

3.远程连接测试。