开启允许root账户远程连接:
首先使用mysql -u root -p; 进入root账户
1.use mysql;//切换使用mysql数据库
2.select user,host from user; //查看用户是否开启远程
3.update user set host='%' where user='root'; //开启远程
4.flush privileges;//刷新权限
如果忘记mysql8的密码,强制修改root密码:
(注意与以前mysql修改密码策略不同)
1.在my.conf下添加skip-grant-tables;
2.flush privileges;
3.alter user'root'@'%' IDENTIFIED BY 'MyNewPass@123'; ('%'号是允许远程连接,引号中的root为账号,后面引号中的内容为新密码)
4.flush privileges;
5.重启一下mysql服务
如误将root用户删除,添加完root用户以后需要给root用户全部权限:
update user set host='%',select_priv='y', insert_priv='y',update_priv='y',Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y' where user='root';
修改连接方式为native:
1、在my.cnf中加入
default_authentication_plugin=mysql_native_password
collation-server = utf8_unicode_ci
character-set-server = utf8
2、重启mysql
3、新增用户,修改加密规则
create user 'admin'@'%' identified by 'admin123';
grant all on *.* to 'admin'@'%' ;
ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
ps:如果plugin不是caching_sha2_password,要先修改该用户的加密方式
update mysql.user SET plugin="caching_sha2_password" where user='admin' and host="%";
mysql8修改密码策略:
在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略
选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
validate_password_policy=0
如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:
validate_password = off
加:
查看字符集mysql show variables like 'collation%';
查看端口mysql netstat -anp|grep mysqld;