1. ECS服务器的连接
2. mysql数据库的配置
3. 在本地远程连接服务器上的mysql数据库
4. 在mysql中创建用户名并赋予权限
前段时间进行阿里云服务器的配置和在服务器上搭建mysql数据库,在此过程中踩过不少的坑,避免以后踩同样的坑,特此记录:
阿里云ECS服务器操作系统:ubuntu18.04.1
mysql数据库版本:5.7.26-0ubuntu0.18.04.1
本地操作系统:ubuntu19
在服务器控制台进行服务器的连接,这种连接方法网上有很多的教程 ,连接成功之后操作过程与在本地操作ubuntu系统一样。
以下来自阿里云官网文档:
阿里云SSH密钥是一种安全便捷的登陆认认证方式,由公钥和密钥组成,仅仅支持Linux实例。
关于SSH密钥的设置参考阿里云官方文档:
https://help.aliyun.com/document_detail/51792.html?spm=a2c4g.11174283.2.47.7ff952feOwD3Sc
注意点:
在配置ssh密钥之后要在本地和服务器的安全组上开通22端口号,负责无法进行连接
完全配置之后在本地打开终端进行连接:
# 确保本地的ssh服务已开通
ssh root@公网ip地址
在ECS服务器上安装mysql与在本地系统中安装mysql方法一样,这里通过命令行的方式进行安装。
安装mysql客户端与服务器
# 安装服务端
sudo apt-get install mysql-server
# 安装客户端
sudo apt install mysql-client
初次安装数据库过程中,mysql会创建一个root用户,主机地址为localhost,并且创建一个随机密码,但是标记密码已经过期,因此可以直接使用root用户直接进行登陆,此root账户具有所有权限
root用户权限比较大,一般不建议直接使用而是为特定数据库创建指定的用户
# 首次登陆mysql
mysql -u root
MySQL的账户存储在mysql数据库的user表中,账户由用户名和客户端主机共同决定
在登录mysql之后,要为root账户设置密码
alert user user() identified by '密码'
# user()是获取当前用户名的函数
# 在mysql的5.7版本中密码字段有所改变
# 设置密码
update user set authentication_string=PASSWORD('密码')where user = 'root';
update user set plugin="mysql_native_password";
# 进行刷性
flush privileges;
#设密码之后重启mysql服务器
service mysql restart
如果忘记mysql的root密码或者更改密码后无法登陆root用户则使用以下方法重置root密码
service mysql restart
修改my.cnf文件,在文件新增 skip-grant-tables
表示在启动mysql时不启动grant-tables授权表
$ vim /etc/mysql/my.cnf
# 添加以下内容
[mysqld]
skip-grant-tables
update user set authentication_string=PASSWORD('密码')where user = 'root';
MySQL服务器使用单个套接字监听tcp/ip,并绑定到单个ip地址,单地址可以绑定到多个网络接口,地址类型可以是IPv4、IPv6或者主机名,如果是主机名则解析为ip地址并绑定到该地址,如果是多个ip地址则绑定第一个。
在mysql的配置文件中有地址属性:bind_address
MySQL的配置文件位置:/etc/mysql/mysql.conf.d
如果bing_address地址为*:则表示所有服务器接口上的ip4和ip6地址链接
如果bing_address地址为0.0.0.0:则表示mysql服务器接受所有的服务器注解IPv4接口上的TCP / IP链接
如果bing_address地址是::,则服务器接受所有服务器主机IPv4和IPv6接口上的TCP / IP连接
设置好连接属性之后输入以下命令进行连接
mysql -h ip地址 -u 主机名 -p
为mysql创建用户
CREATE USER 'username'@'%' IDENTIFIED BY '密码';
username为创建的用户名
%表示所有的主机均可使用此用户名链接数据库,如果在本机进行链接则指定为localhost,也可以指定ip进行链接
-- 查看用户权限--
show grants for root@'localhost';
未完。。。