Ubuntu 安装、配置MySQL、添加远程连接用户

第一次进入mysql是没有密码的。

但是必须以root权限进入。

sudo mysql;

或者

sudo mysql -u root -p; #由于没有密码,直接回车

设置密码


通过客户端连接上mysql之后。

#修改密码

ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘8888’;

现在登录就必须使用命令(但无需root权限)

mysql -u root -p

查看MySQL的端口号


这mysql客户端里。

show global variables like ‘port’;

MySQL服务器的开启、重启、关闭

=================================================================================

注意这里说的是服务器,如果是客户端的话,使用quit或者exit退出客户端即可。

  • 开启、重启、关闭

service mysql start;

service mysql restart;

service musql stop;

然后检查一下,进程是否存在

ps -ef | grep -v grep | grep mysqld

添加远程连接的用户

=========================================================================

所有创建的用户其实也都存储在数据库里。

进入客户端后。

use mysql;

查看已有用户(发现有一个用户 root),密码是加密的(不可逆)。

select host,user,authentication_string from user;

±----------±-----------------±-----------------------------------------------------------------------+

| host | user | authentication_string |

±----------±-----------------±-----------------------------------------------------------------------+

| localhost | debian-sys-maint | $A 005 005 005E.4]U;R!IJglg8z1k5ChuV/hyf7jBrhTPR59gr3l5AN2YjwXKUKs5zzgg7 |

| localhost | mysql.infoschema | $A 005 005 005THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

| localhost | mysql.session | $A 005 005 005THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

| localhost | mysql.sys | $A 005 005 005THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |

| localhost | root | *79F03894C8051E03949A9F87C0824822405C5079 |

±----------±-----------------±-----------------------------------------------------------------------+

为了创建用户,就必须要知道存储用户的表结构。

使用如下命令。

show columns from user;

可以发现,有两个键是主键:要连接的客户端的主机名、用户名。

以及配置的各种权限(增删改查、建库建表等等)。

±-------------------------±----------------------------------±-----±----±----------------------±------+

| Field | Type | Null | Key | Default | Extra |

±-------------------------±----------------------------------±-----±----±----------------------±------+

| Host | char(255) | NO | PRI | | |

| User | char(32) | NO | PRI | | |

| Select_priv | enum(‘N’,‘Y’) | NO | | N | |

| Insert_priv | enum(‘N’,‘Y’) | NO | | N | |

| Update_priv | enum(‘N’,‘Y’) | NO | | N | |

| Delete_priv | enum(‘N’,‘Y’) | NO | | N | |

| Create_priv | enum(‘N’,‘Y’) | NO | | N | |

| Drop_priv | enum(‘N’,‘Y’) | NO | | N | |

| Reload_priv | enum(‘N’,‘Y’) | NO | | N | |

| Shutdown_priv | enum(‘N’,‘Y’) | NO | | N | |

| Process_priv | enum(‘N’,‘Y’) | NO | | N | |

| File_priv | enum(‘N’,‘Y’) | NO | | N | |

| Grant_priv | enum(‘N’,‘Y’) | NO | | N | |

| References_priv | enum(‘N’,‘Y’) | NO | | N | |

| Index_priv | enum(‘N’,‘Y’) | NO | | N | |

| Alter_priv | enum(‘N’,‘Y’) | NO | | N | |

| Show_db_priv | enum(‘N’,‘Y’) | NO | | N | |

| Super_priv | enum(‘N’,‘Y’) | NO | | N | |

| Create_tmp_table_priv | enum(‘N’,‘Y’) | NO | | N | |

| Lock_tables_priv | enum(‘N’,‘Y’) | NO | | N | |

| Execute_priv | enum(‘N’,‘Y’) | NO | | N | |

| Repl_slave_priv | enum(‘N’,‘Y’) | NO | | N | |

| Repl_client_priv | enum(‘N’,‘Y’) | NO | | N | |

| Create_view_priv | enum(‘N’,‘Y’) | NO | | N | |

| Show_view_priv | enum(‘N’,‘Y’) | NO | | N | |

| Create_routine_priv | enum(‘N’,‘Y’) | NO | | N | |

| Alter_routine_priv | enum(‘N’,‘Y’) | NO | | N | |

| Create_user_priv | enum(‘N’,‘Y’) | NO | | N | |

| Event_priv | enum(‘N’,‘Y’) | NO | | N | |

| Trigger_priv | enum(‘N’,‘Y’) | NO | | N | |

| Create_tablespace_priv | enum(‘N’,‘Y’) | NO | | N | |

| ssl_type | enum(‘’,‘ANY’,‘X509’,‘SPECIFIED’) | NO | | | |

| ssl_cipher | blob | NO | | NULL | |

| x509_issuer | blob | NO | | NULL | |

| x509_subject | blob | NO | | NULL | |

| max_questions | int unsigned | NO | | 0 | |

| max_updates | int unsigned | NO | | 0 | |

| max_connections | int unsigned | NO | | 0 | |

| max_user_connections | int unsigned | NO | | 0 | |

| plugin | char(64) | NO | | caching_sha2_password | |

| authentication_string | text | YES | | NULL | |

| password_expired | enum(‘N’,‘Y’) | NO | | N | |

| password_last_changed | timestamp | YES | | NULL | |

| password_lifetime | smallint unsigned | YES | | NULL | |

| account_locked | enum(‘N’,‘Y’) | NO | | N | |

| Create_role_priv | enum(‘N’,‘Y’) | NO | | N | |

| Drop_role_priv | enum(‘N’,‘Y’) | NO | | N | |

| Password_reuse_history | smallint unsigned | YES | | NULL | |

| Password_reuse_time | smallint unsigned | YES | | NULL | |

| Password_require_current | enum(‘N’,‘Y’) | YES | | NULL | |

| User_attributes | json | YES | | NULL | |

±-------------------------±----------------------------------±-----±----±----------------------±------+

但是不建议直接在这张表中插入数据。

举一个例子。

创建用户


通过create user语句。

用户名是guest,ip地址是我宿主机的名字,密码是8899

create user ‘guest’@‘远程客户端ip’ identified by ‘8899’;

如果没有主机名,就是默认是%,也就是对所有主机开放连接权限。

授予权限


grant命令就不细说了。可以参考《mysql必知必会》。

下面的命令将所有数据库的所有权限分配给某个用户(这里是 guest )。

不过实际上这很危险

grant all privileges on . to ‘guest’;

出现下面的,是因为现在的mysql版本必须先创建用户然后分配权限

ERROR 1410 (42000): You are not allowed to create a user with GRANT

检查某个用户的权限

show grants for ‘guest’;

修改配置文件


在设置mysql允许远程访问,首先编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf;

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

注释掉bind-address = 127.0.0.1。

重启mysql服务器。

service mysql restart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值