Linux为例
停掉MySQL服务
使用命令:
systemctl stop mysqld.service
查看MySQL服务命令:
systemctl status mysqld.service
如下表示已经停掉服务
修改MySQL配置文件
使用命令:
vim /etc/my.cnf
在[mysqld]后面加上skip-grant-tables
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-name-resolve
skip-grant-tables
按Esc键,再按Ctl + :,输入wq保存
重启MySQL服务
使用命令:
systemctl start mysqld.service
进入MySQL
输入命令:
mysql
选择mysql数据库
输入命令:
use mysql;
使用 SELECT * FROM user;
查看表的结构。
根据user表的结构设计插入语句
SQL命令:
insert into mysql.user(Host,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_priv,Shutdown_priv,Process_priv,File_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Show_db_priv,Super_priv,Execute_priv,Create_view_priv,Show_view_priv,ssl_cipher,x509_issuer,x509_subject) values ('%','root',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y','0x','0x','0x');
字段: plugin 的值默认为 mysql_native_password(加密方法),但是使用本地Navicat登录时,可能出现错误。原因是Navicat旧版本的加密方法为caching_sha2_password。
所有,要求远程登录MySQL的,需要注意一下。
设置你的root密码:
ALTER USER `app`@`%` IDENTIFIED BY '123';
注意:如果单引号不对,一定要复制上面这句再改
如果出现:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
使用命令:update user set authentication_string=null where User="root";
再将skip-grant-tables去掉,重启MySQL后再使用修改密码的命令
输入命令 exit
退出MySQL
停掉MySQL服务,并将skip-grant-tables
去掉,重启MySQL服务
使用root 登录
Linux中登录
使用命令:
mysql -u root -p 密码
远程登录MySQL
工具:Navicat
服务器开放3306端口
新建Mysql连接
第一种连接方式:用IP或域名直连
连接名:自定义
主机名或IP地址:你的服务器域名或外网IP地址
用户名:数据库root
密码:你自己的设置的数据库密码
然后连接测试连接,成功之后确定就行了。
连接测试不过的可以看我下一篇文章。
第二种方式:用SSH连接
SSH协议,这个连接和我们用XShell软件来远程控制Linux服务器的连接协议一样。
IP地址:外网IP
用户名:可以是服务器Root,也可以是你亲建的服务器用户名
密码:服务器密码
然后我们再点击常规选项,也就是第一种连接方式。
这里只要把IP地址改成:localhost,因为你们已经登录到服务器了,就相当于在服务器中登录MySQL时的连接。
连接测试不过的可以看我下一篇文章。