1.登陆mysql
mysql -u 用户名 -p 用户密码
或者
mysql -u用户名 -p用户密码
2.查看默认用户
如果是普通用户,那么在xshell中执行
sudo cat /etc/mysql/debian.cnf
如果是root用户,则执行
cat /etc/mysql/debian.cnf
执行结果
这里的user就是默认用户,password就是他的登陆密码
用这个账户密码登录mysql。
3.修改mysql root用户密码
首先登陆用默认账户登陆mysql
再依次执行
use mysql;
SELECT user,host FROM user;
执行“select user,host from user;”后得到的表,注意root对应的host的值
+------------------+-----------+
| user | host |
+------------------+-----------+
| debian-sys-maint | localhost |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
再执行
UPDATE USER SET authentication_string='' WHERE user='root';
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
这样root新密码就设置好了。
4.修改mysql允许远程访问
4.1 打开mysql配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
4.2 修改mysql配置文件
将“bind-address = 127.0.0.1”注释掉
4.3 重启mysql服务
sudo /etc/init.d/mysql restart
4.4 修改数据库表
登陆mysql客户端,执行下面指令
CREATE USER 'root'@'主机IP';
ALTER USER 'root'@'主机IP' IDENTIFIED WITH mysql_native_password BY 'MySQL root账户的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'主机IP' WITH GRANT OPTION;
FLUSH PRIVILEGES;