在Ubuntu系统上搭建MySQL的过程: 1、首先先将系统通过命令更新到最新,命令如下 sudo apt-get update sudo apt-get upgrade 2、 执行命令行安装MySQL8 sudo apt-get install mysql-server 3、第一次进入需要用权限进入,可以跳过输入密码的过程,然后等进入MySQL以后通过命令修改 sudo mysql -uroot -p 4、进入MySQL以后,想通过命令去修改root账号的登录密码 alter user 'root'@'localhost' identified with mysql_native_password by '123456'; 此时,发现该命令执行以后报错,通过对报错内容的翻译,会发现是因为MySQL安装数据初始的设置,设置的密码过于简单,此时,要么你将设置的密码改成符合他要求的规则 要么就是就是按照以下步骤进行: a、通过命令查看校验密码的规则 show variables like 'validate_password%'; 你会发现,展示的数据中,有两个对于修改密码比较重要,validate_password.policy和validate_password.length,其他的规则可以不用管,validate_password.policy应该展示是MEDIUM,validate_password.length是8,就是校验密码的规则是中等,并且密码的长度大于等于8 b、通过下面两个命令修改校验密码的策略和长度 修改校验密码策略:set global validate_password.policy = LOW; 修改校验密码长度:set global validate_password.length = 6; 修改完规则以后,执行修改密码的命令: alter user 'root'@'localhost' identified with mysql_native_password by '123456'; PS:有的教程中说还需要通过命令刷新权限表,但是我没有执行,也不影响用户的登录,可能只是修改了root账号的密码,没有修改角色权限。 5、此时通过数据库可视化工具连接发现报错,”Connection refused: no further information“,因为服务器是自己搭建的,所以怀疑是3306端口没有开放 通过命令查询防火墙是否开启:sudo ufw status; (如果报系统中没有ufw命令,需要安装的话,可以通过命令sudo apt-get install ufw 安装防火墙) 发现状态是未激活 开启防火墙:sudo ufw enable(开启防火墙以后,一些默认的端口也会被关闭,如80、22等,需要通过命令将其开放) 开放3306端口:sudo ufw allow 3306 查看开放端口号:sudo ufw status 发现端口号已开启,继续通过DBeaver去连接数据库,发现仍然报错”Connection refused: no further information“,怀疑可能是数据库账号登陆权限问题 6、修改root账号允许任一主机登陆 -- 创建'root'@'%'账户 CREATE USER 'root'@'%' IDENTIFIED BY '123456'; -- 给'root'@'%'账户设置权限 GRANT ALL PRIVILEGES ON . TO 'root'@'%'; -- 刷新权限 flush privileges; 访问mysql数据库:use mysql; 执行 select host,name from user;发现host和name已经设置成功了 7、继续通过DBeaver去连接数据库,发现仍然报错”Connection refused: no further information“,此时进行百度发现,MySQL8以后默认不允许远程root登陆,所以可能需要通过修改MySQL8的配置文件,强制的允许非127.0.0.1主机调用 cd /etc/mysql/mysql.conf.d sudo vim mysqld.conf (如果没有vim命令,可以通过命令去安装,sudo apt-get install vim) 找到bind-address,将原有的127.0.0.1改成0.0.0.0,即允许任一设备连接 然后重启MySQL8服务(没有尝试如果不重启会不会仍然不成功,但是习惯问题,一般修改配置以后重启服务) service mysql restart 8、继续通过DBeaver去连接数据库,发现仍然报错”Public Key Retrieval is not allowed“(内心OS:终于!好了!),发现在该问题产生的原因是DBeaver的驱动属性设置问题,找到图中位置,该配置原先是false,改成true,然后测试连接,发现脸上了!!!!!!
标签:命令,密码,MySQL8,步骤,sudo,Ubuntu,mysql,password,root From: https://www.cnblogs.com/sun-qianyu/p/18290837