1. MySQL用户管理
MYSQL提供许多语句用来管理用户帐号 , 这些语句可以用来包括登录和退出MYSQL服务器、创建用户、删除用户、密码管理、权限管理。
MYSQL数据库的安全性 , 需要通过帐户管理来保证登录和退出MYSQL。
mysql命令的常用参数-h: 主机名或ip, 默认是localhost, 最好指定-h参数-u: 用户名-p: 密码 , 注意 : 该参数后面的字符串和-p不能有空格-P: 端口号 , 默认为3306数据库名 : 可以在命令最后指定数据库名
-e: 执行SQL语句 , 如果指定该参数 , 将在登录后执行-e后面的命令或sql语句并退出
[root@localhost mysql]# mysql -h localhost -u root -pdaemon -e "show databases;" +--------------------+ | Database | +--------------------+ | hellodb | | information_schema | | mysql | | performance_schema | | testdb | +--------------------+
1.1 用户管理
创建用户语法
IDENTIFIED BYCREATE USER user [IDENTIFIED BY [PASSWORD] 'password'] [, user [IDENTIFIED BY [PASSWORD] 'password']]USER: 指定创建用户账号 , 格式为user_name'@'host_name。这里的user_name是用户名 ,host_name为主机名 , 即用户连接MySQL时所用主机的名字。如果在创建的过程中 , 只给出了用户名 , 而没指定主机名 ,那么主机名默认为"%" , 表示一组主机 ,即对所有主机开放权限。host_name可以指定主机名 , 默认为%, 同样可以指定IP, 需要注意可以使用%通配符 ,172.16.%.% #指定为172.16. 范围内的所有IP user2@'192.168.1.%'IDENTIFIED BY: 用于指定用户密码。新用户可以没有初始密码 , 若该用户不设密码 , 可省略此子句。PASSWORD 'password':PASSWORD表示使用哈希值设置密码 , 该参数可选。如果密码是一个普通的字符串 , 则不需要使用PASSWORD关键字。'password'表示用户登录时使用的密码 ,需要用单引号括起来
示例
CREATE USER 'jeffrey'@'localhost' identified BY 'mypass';用户名部分为"
jeffrey" ,主机名默认为"%"(即对所有主机开放权限)如果指定用户登录不需要密码 , 则可以省略
identified BY部分 , 对于使用插件认证连接的用户 , 服务器调用指定名称的插件 , 客户端需要提供验证方法所需要的凭据。如果创建用户时或者连接服务器时 , 服务器找不到对应的插件 , 将返回一个错误。IDENTIFIED WITH允许您指定帐户应由特定身份验证插件进行身份验证。插件名称必须是已经激活的身份验证插件,可以通过命令
SHOW PLUGINS查看。如果没有通过命令SHOW PLUGINS查看到对应插件, 则需要安装插件CREATE user 'jeffrey'@'localhost' identified with my_auth_plugin;identified with只能在MYSQL5.7.7及以上版本使用。identified with和identified by是互斥的 , 所以对一个帐户来说只能使用一个验证方法。CREATE USER语句的操作会被记录到服务器日志文件或者操作历史文件中
用户重命名
RENAME USER old_user_name TO new_user_name;删除用户
使用
DROP USER语句删除用户 , 也可以直接通过DELETE从mysql.user表中删除对应的记录来删除用户。DROP USER语句用于删除一个或多个MYSQL帐户。要使用DROP USER, 必须拥有MYSQL数据库的全局CREATE USER权限或DELETE权限。DROP USER 'USERNAME'@'HOST‘使用
delete语句删除用户DELETE FROM mysql.user WHERE `Host`='localhost' and `User`='testUser'范例 : 删除默认的空用户
DROP USER ''@'localhost';
查看所有用户
MariaDB [(none)]> select Host,user,Password,authentication_string from mysql.user; +-----------+----------+-------------------------------------------+-------------------------------------------+ | Host | user | Password | authentication_string | +-----------+----------+-------------------------------------------+-------------------------------------------+ | localhost | root | *9092E6448E8E10E8BAC1C290E16D0D2E36759BAA | *9092E6448E8E10E8BAC1C290E16D0D2E36759BAA | | 127.0.0.1 | root | *9092E6448E8E10E8BAC1C290E16D0D2E36759BAA | | | ::1 | root | *9092E6448E8E10E8BAC1C290E16D0D2E36759BAA | | | localhost | myfreax | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | | | localhost | myfreax1 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | | localhost | myfreax2 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | | localhost | username | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | | | % | root | *9092E6448E8E10E8BAC1C290E16D0D2E36759BAA | | +-----------+----------+-------------------------------------------+-------------------------------------------+ 8 rows in set (0.000 sec)
1.2 修改密码
新版
mysql中用户密码可以保存在mysql.user表的authentication_string字段中如果
mysql.user表的authentication_string和password字段都保存密码 ,authentication_string优先生效
1.2.1 root用户修改自己的密码
修改root密码的方式有多种
使用
mysqladmin命令在命令行指定新密码。 如果没有旧密码 , 直接省略即可, 之后会提示输入密码, 直接回车即可mysqladmin -u root -p旧密码 password 新密码修改
mysql数据库的user表。只不过这种方式在最新版本的不适用了。因为新版本中user表格是通过视图创建的。视图无法直接修改UPDATE mysql.user SET `Password` =password('rootpwd') WHERE `User`='root' and `Host`='localhost'password('')函数用来加密用户密码。执行update之后需要执行flush privileges语句重新加载用户权限UPDATE mysql.user SET `authentication_string` =password('rootpwd') WHERE `User`='root' and `Host`='localhost'mariadb 10.4可以给用户设置多种认证方式了,在初始安装的时候,默认创建了2个默认账号:root,mysql,并默认使用unix_socket模式认证 ,这种模式root不需要密码, 也不需要你去设置初始密码。MariaDB [(none)]> select user,plugin from mysql.user limit 1; +------+-----------------------+ | User | plugin | +------+-----------------------+ | root | unix_socket | +------+-----------------------+使用
SET语句修改root用户的密码SET PASSWORD语句可以用来重新设置其他用户的登录密码或者自己使用的帐户密码语法:
SET PASSWORD=PASSWORD("ROOTPWD")新密码必须用
PASSWORD函数加密使用
root用户登录到mysql之后执行下面语句SET password=password('123456')执行之后需要使用执行
flush privileges语句或者重启MYSQL重新加载用户权限使用
alter user命令方式修改密码ALTER USER CURRENT_USER() IDENTIFIED BY 'mariadb';使用示例如下
ALTER USER foo2@test IDENTIFIED BY 'mariadb';IDENTIFIED BY PASSWORD子句用于为已经哈希处理的密码提供帐户。密码应指定为由PASSWORD函数提供的哈希值。它将按原样存储到mysql.user表中。例如,如果我们的密码是
mariadb,则可以使用以下方法找到哈希值:SELECT PASSWORD('mariadb'); +-------------------------------------------+ | PASSWORD('mariadb') | +-------------------------------------------+ | *54958E764CE10E50764C2EECBB71D01F08549980 | +-------------------------------------------+然后,我们可以使用哈希值设置帐户的密码:
ALTER USER foo2@test IDENTIFIED BY PASSWORD '*54958E764CE10E50764C2EECBB71D01F08549980';如果您没有使用
IDENTIFIED BY子句指定密码,则用户将能够无需密码连接到MariaDB。空白密码不是匹配任何密码的通配符。如果未设置密码,则用户必须在未提供密码的情况下连接。
1.2.2 root用户修改普通用户密码
使用
SET语句修改普通用户的密码SET PASSWORD FOR 'USER'@'HOST' =PASSWORD("ROOTPWD")使用
update语句修改普通用户的密码UPDATE mysql.user SET `Password` =password('rootpwd') WHERE `User`='root' and `Host`='localhost'执行完毕之后需要使用
flush privileges语句或者重启MYSQL重新加载用户权限使用
GRANT语句修改普通用户密码GRANT USAGE ON *.* TO 'someuser'@'%' IDENTIFIED BY 'somepwd'使用下面语句把
testUser用户的密码改为123456grant USAGE ON *testUser*TO 'localhost' identified BY '123456';注意 : 使用
GRANT语句和MYSQLADMIN设置密码 , 他们均会加密密码 , 这种情况下 , 不需要使用PASSWORD()函数alter命令修改密码ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
1.2.3 普通用户修改密码
使用SET语句修改自己的密码
SET password=password('newpassword'); 比如修改testUser这个用户的密码 , 需要使用testUser这个用户登录到mysql , 然后执行
SET password=password('123456');1.2.4 破解密码
使用--skip-grant-tables选项启动MYSQL时 , 服务器将不加载权限判断 , 任何用户都能访问数据库。同时这种方法也可以防止超级用户被删除之后, 手动创建需要的超级用户
主要步骤如下
启动mysqld进程时 , 为其使用如下选项:
--skip-grant-tables --skip-networking使用
UPDATE命令修改管理员密码关闭
mysqld进程 , 移除上述两个选项 , 重启mysqld
范例:
1.关闭MySQL服务器
service mysqld stop2.使用--skip-grant-tables选项重启MySQL服务
./bin/mysqld_safe --skip-grant-tables --user=root &其中--skip-grant-tables选项的意思是启动MySQL服务的时候跳过权限表认证。启动后 , 连接到MySQL的root将不需要命令。或者直接编辑配置文件/etc/my.cnf ,之后在启动mysql服务
[root@centos8 ~]#vim /etc/my.cnf
[mysqld]
skip-grant-tables
skip-networking3.用空密码的root用户连接到MySQL , 并且更新root口令 :
mysql -urootMySQL 5.7以下版本 :
update mysql.user set password=password('新密码') where user='root' and host='localhost';MySQL 5.7版本 :
update mysql.user set authentication_string=password('新密码') where user='root' and Host='localhost';4.刷新权限表 , 使得权限认证重新生效 :
flush privileges;5.重启MySQL数据库
service mysqld restart
systemctl restart mariadb6.登录MySQL
mysql -uroot1.2.5 查看mysql的匿名用户
如果有匿名用户 , 那么客户端就可以不用密码登录MYSQL数据库 , 这样就会存在安全隐患
检查匿名用户的方法
SELECT * FROM mysql.user WHERE `User`='';如果查找到user字段值为空的那条记录 , 说明存在匿名用户 , 需要把这条记录删除。如果用匿名用户登录MYSQL就可以看到用户名是空的
删除语句
DELETE FROM mysql.user WHERE `User`=''; SELECT * FROM mysql.user WHERE `User`='';1.3 密码过期
除了由 default_password_lifetime确定的自动密码过期之外,还可以在单个用户基础上设置密码过期时间,以覆盖全局设置,例如:
ALTER USER 'monty'@'localhost' PASSWORD EXPIRE INTERVAL 120 DAY;
ALTER USER 'monty'@'localhost' PASSWORD EXPIRE NEVER;
ALTER USER 'monty'@'localhost' PASSWORD EXPIRE DEFAULT;1.4 账户锁定
帐户锁定允许特权管理员锁定/解锁用户帐户。如果帐户被锁定,则不会允许新的客户端连接(现有连接不受影响)。例如:
ALTER USER 'marijn'@'localhost' ACCOUNT LOCK;2. 权限管理和DCL语句
在元数据数据库mysql中 , 有mysql_install_db脚本初始化权限表 , 存储权限的表有 :
user表 :user表列出可以连接服务器的用户及其口令 , 并且它指定他们有哪种全局(超级用户)权限。在user表启用的任何权限均是全局权限 , 并适用于所有数据库在
MariaDB中,mysql.global_priv表是用来存储用户全局权限的系统表。从MariaDB 10.4版本开始,这个表取代了之前的mysql.user表来存储用户权限信息。mysql.user表现在是一个视图,用于提供一个与以前版本兼容的接口。db表 :db表列出数据库 , 而用户有权限访问它们。在这里指定的权限适用于一个数据库中的所有表。host表 : 指定根据host主机权限 ,5.6之前还有host表 , 现在已经把host内容整合进user表。table_priv表 :tables_priv表指定表级权限 , 在这里指定的一个权限适用于一个表的所有列。columns_priv表 :columns_priv表指定列级权限。这里指定的权限适用于一个表的特定列。proc_priv表 :columns_priv表指定存储过程权限。这里代表允许使用某个存储过程的权限。proxies_priv: 利用MySQLproxies_priv(模拟角色) 实现类似用户组管理。角色(Role)可以用来批量管理用户 , 同一个角色下的用户 ,拥有相同的权限。
MySQL存取控制包含2个阶段 :
阶段1 : 服务器检查你是否允许连接。
阶段2 : 假定你能连接 , 服务器检查你发出的每个请求。看你是否有足够的权限实施它。例如 , 如果你从数据库中一个表精选(
select)行或从数据库抛弃一个表 , 服务器确定你对表有select权限或对数据库有drop权限。
2.1 用户权限层级
授予的权限可以分为多个层级 :
全局层级
全局权限适用于一个给定服务器中的所有数据库。这些权限存储在
mysql.user表中。GRANT ALL ON *.*和REVOKE ALL ON *.*只授予和撤销全局权限。GRANT ALL ON *.* TO 'user'@'host'; # *.* 表示数据库库的所有库和表 , 对应权限存储在mysql.user表中数据库层级
数据库权限适用于一个给定数据库中的所有目标。这些权限存储在
mysql.db和mysql.host表中。GRANT ALL ON db_name .*和REVOKE ALL ON db_name.*只授予和撤销数据库权限。GRANT ALL ON mydb.* TO 'user'@'host'; #mydb.* 表示mysql数据库下的所有表 , 对应权限存储在mysql.db表中表层级
表权限适用于一个给定表中的所有列。这些权限存储在
mysql.talbes_priv表中。GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name只授予和撤销表权限。GRANT ALL ON mydb.mytable TO 'user'@'host'; #mydb.mytable 表示mysql数据库下的mytable表 , 对应权限存储在mysql.tables_priv表列层级
列权限适用于一个给定表中的单一列。这些权限存储在
mysql.columns_priv表中。当使用REVOKE时 , 您必须指定与被授权列相同的列。GRANT ALL (col1 , col2 , col3) ON mydb.mytable TO 'user'@'host'; #mydb.mytable 表示mysql数据库下的mytable表 , col1, col2, col3表示mytable表中的列名子程序层级
CREATE ROUTINE,ALTER ROUTINE,EXECUTE和GRANT权限适用于已存储的子程序。这些权限可以被授予为全局层级和数据库层级。而且 , 除了CREATE ROUTINE外 , 这些权限可以被授予为子程序层级 , 并存储在mysql.procs_priv表中。GRANT EXECUTE ON PROCEDURE mydb.myproc TO 'user'@'host'; #mydb.mytable 表示mysql数据库下的mytable表 , PROCEDUR表示存储过程
当后续目标是一个表、一个已存储的函数或一个已存储的过程时 , object_type子句应被指定为TABLE、FUNCTION或PROCEDURE。当从旧版本的MySQL升级时 , 要使用本子句 , 必须升级授权表。使用GRANT语句创建一个新用户grantUser , 密码为grantpwd。用户对所有的数据有查询、插入权限 , 并授予GRANT权限
2.2 权限简单分类
数据权限分为 : 库、表和字段三种级别
库和表级别 : 针对
DATABASE、TABLEALTERCREATECREATE VIEWDROP INDEXSHOW VIEWWITH GRANT OPTION: 能将自己获得的权限转赠给其他用户
数据操作
SELECTINSERTDELETEUPDATE
字段级别
SELECT(col1,col2,...)UPDATE(col1,col2,...)INSERT(col1,col2,...)
管理权限主要是管理员要使用到的权限 , 包括 : 数据库创建 , 临时表创建、主从部署、进程管理等
CREATE USERFILESUPERSHOW DATABASESRELOADSHUTDOWNREPLICATION SLAVEREPLICATION CLIENTLOCK TABLESPROCESSCREATE TEMPORARY TABLES
程序权限主要是触发器、存储过程、函数等权限。
CREATEALTERDROPEXCUTE
所有权限 ALL PRIVILEGES 或 ALL
授权 : GRANT
注 : 可以使用
SHOW privileges;查看所有权限
2.3 授权语法
用户授权语法
GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] {tbl_name | * | *.* | db_name.* | db_name.tbl_name | tbl_name | db_name.routine_name} TO user [IDENTIFIED BY [PASSWORD] 'password'] [, user [IDENTIFIED BY [PASSWORD] 'password']] ... [REQUIRE NONE | [{SSL| X509}] [CIPHER 'cipher' [AND]] [ISSUER 'issuer' [AND]] [SUBJECT 'subject']] [WITH with_option [with_option] ...] routine_name : 指定库的函数,存储过程,触发器 with_option: GRANT OPTION | MAX_QUERIES_PER_HOUR count | MAX_UPDATES_PER_HOUR count | MAX_CONNECTIONS_PER_HOUR count | MAX_USER_CONNECTIONS count | MAX_STATEMENT_TIME time 范例
GRANT SELECT (col1), INSERT (col1,col2) ON mydb.mytbl TO 'someuser'@'somehost‘; GRANT ALL ON wordpress.* TO wordpress@'192.168.8.%' IDENTIFIED BY 'cbear'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.8.%' IDENTIFIED BY 'cbear' WITH GRANT OPTION;回收权限
REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] priv_level FROM user [, user] ... REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ... REVOKE PROXY ON user FROM user [, user] ...范例
REVOKE DELETE ON testdb.* FROM 'testuser'@‘172.16.0.%’; REVOKE INSERT ON *.* FROM 'grantUser'@'localhost';查看指定用户获得的授权
Help SHOW GRANTS SHOW GRANTS FOR 'user'@'host';查看当前用户的授权
SHOW GRANTS FOR CURRENT_USER(); 等价于 SHOW GRANTS; 等价于 SHOW GRANTS FOR CURRENT_USER;
注意 : MariaDB服务进程启动时会读取mysql库中所有授权表至内存
GRANT或REVOKE等执行权限操作会保存于系统表中 ,MariaDB的服务进程通常会自动重读授权表 , 使之生效对于不能够或不能及时重读授权表的命令 , 可手动让
MariaDB的服务进程重读授权表 :mysql> FLUSH PRIVILEGES
2.4 查看权限
查询所有权限: 查询数据库中所有用户列表和权限信息。
MariaDB [(none)]> select distinct concat("用户:",user," 权限:",host," : ") as query from mysql.user;
+------------------------------------+
| query |
+------------------------------------+
| 用户:root 权限:localhost : |
| 用户:root 权限:127.0.0.1 : |
| 用户:root 权限:::1 : |
| 用户:lyshark 权限:localhost : |
| 用户:lyshark 权限:% : |
+------------------------------------+
8 rows in set (0.46 sec)
MariaDB [(none)]>查询指定权限: 查询关于lyshark的所有权限信息
MariaDB [(none)]> show grants for lyshark;
+----------------------------------------------+
| Grants for lyshark@% |
+----------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'lyshark'@'%' |
+----------------------------------------------+
1 row in set (0.00 sec)
MariaDB [(none)]>查询指定权限: 查询lyshark用户的远程%权限,和本地localhost权限
MariaDB [(none)]> show grants for "lyshark"@"%";
+----------------------------------------------+
| Grants for lyshark@% |
+----------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'lyshark'@'%' |
+----------------------------------------------+
1 row in set (0.00 sec)
MariaDB [(none)]> show grants for "lyshark"@"localhost";
+----------------------------------------------------------------------------------------------------------------+
| Grants for lyshark@localhost |
+----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'lyshark'@'localhost' IDENTIFIED BY PASSWORD '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' |
+----------------------------------------------------------------------------------------------------------------+
1 row in set (0.37 sec)
MariaDB [(none)]>2.5 收回权限
收回用户授权: 撤销lyshark用户,对所有数据库的远程%用户权限
MariaDB [(none)]> show grants for lyshark;
+----------------------------------------------+
| Grants for lyshark@% |
+----------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'lyshark'@'%' |
+----------------------------------------------+
1 row in set (0.00 sec)
MariaDB [(none)]> revoke all on *.* from "lyshark"@"%";
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> show grants for lyshark;
+-------------------------------------+
| Grants for lyshark@% |
+-------------------------------------+
| GRANT USAGE ON *.* TO 'lyshark'@'%' |
+-------------------------------------+
1 row in set (0.00 sec)收回用户授权: 撤销lyshark用户的远程登陆权限
MariaDB [(none)]> revoke create on *.* from "lyshark"@"%";
Query OK, 0 rows affected (0.01 sec)刷新权限: 修改完成以后,记得执行权限的刷新操作.
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)3. MySQL的图形化的远程管理工具
在MySQL数据库中创建用户并授权后 , 可以使用相关图形化工具进行远程的管理。
常见的图形化管理工具 : Navicat , SQLyog , mysql-workbench。
3.1 Navicat 工具
3.1.1 安装激活步骤
3.1.1.1 安装Navicat软件
官方软件下载地址: Navicat | 下载 Navicat Premium 14 天免费 Windows、macOS 和 Linux 的试用版
安装步骤如下:
双击对应软件包 , 选择下一步

选择我同意,点击下一步

选择安装路径,点击下一步
点击是否选择创建桌面快捷图标,选择下一步

最后选择安装即可

之后等软件安装完成
3.1.1.2 激活Navicat软件
激活软件,使用从网上下载的破解软件: NavicatCracker.exe

右击该软件,选择以管理员身份运行该程序
断开电脑网络 ,在激活软件
1. Patcher中选择软件安装位置 ,之后点击Patch!


打开
navicat的注册页面。 在激活软件2. KeyGen中,点击Generate!生成许可证, 将生成的许可证复制到navicat软件中, 点击激活

在navicat软件中选择手动激活

将手动激活软件页面中的请求码,复制到激活软件
3. Offine Activation中的Request Code框中
点击
Generate Activation Code!,生成软件激活码
将激活软件种生成的
Activation Code复制到navicat软件中激活码框架中 ,之后点击激活即可
验证激活成功。在帮助-->关于中查看


3.1.2 测试软件
在mariadb软件中 , 给
root远程授权MariaDB [(none)]> GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'daemon' WITH GRANT OPTION; MariaDB [(none)]> select Host,user,Password,authentication_string from mysql.user; +-----------+----------+-------------------------------------------+-------------------------------------------+ | Host | user | Password | authentication_string | +-----------+----------+-------------------------------------------+-------------------------------------------+ | localhost | root | *9092E6448E8E10E8BAC1C290E16D0D2E36759BAA | *9092E6448E8E10E8BAC1C290E16D0D2E36759BAA | | 127.0.0.1 | root | *9092E6448E8E10E8BAC1C290E16D0D2E36759BAA | | | ::1 | root | *9092E6448E8E10E8BAC1C290E16D0D2E36759BAA | | | localhost | myfreax | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | | | localhost | myfreax1 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | | localhost | myfreax2 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | | localhost | username | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | | | % | root | *9092E6448E8E10E8BAC1C290E16D0D2E36759BAA | | +-----------+----------+-------------------------------------------+-------------------------------------------+ 8 rows in set (0.000 sec) 点击
navicat,选择mysql
选择连接名称和连接IP,和数据库用户名密码

点击测试连接 ,测试连接正常之后 , 点击确定,创建链接


创建完成链接之后点击打开连接

