Advertisement

阿里云(Linux)服务器安装MySQL

阅读量:

访问mysql官方下载页面https://dev.mysql.com/downloads/mysql/并根据需求选择合适的MySQL版本进行下载

通过FTP方式发送至阿里云服务器。由于下载的是.tar.xz格式压缩包,因此需要先解压.xz格式为.tar格式文件,在完成解压操作后才能继续处理。具体来说,我是将这些文件放置在自己创建的/data/software/目录中。

3.将解压后的将文件放在/usr/local/目录下,并且命名为mysql。
命令如下:mv /data/software/mysql-8.0.32-linux-glibc2.12-x86_64 /usr/local/mysql
4. 通过mkdir /data/mysql命令在data目录下创建一个mysql文件夹用来存放mysql存储的所有数据库文件,我这边已经创建好了。

5. 操作:使用groupadd命令创建mysql相关的组别。
进一步操作:通过useradd命令创建一个拥有相应权限并登录到/usr/local/mysql目录下的用户。
6. 进入:cd到/usr/local/mysql目录位置。

授予mysql超级用户组.chown
设置mysql目录为mysql.chgrp
授予mysql目录下的/data.mysql子目录超级用户组.chown

8.配置mysql参数(数据库存储位置等信息)
先执行命令安装libaio:yum install libaio
再执行配置mysql参数命令:bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
(切记:直接完后,最后显示记录会显示出“初始密码”,将该密码复制存储起来后面连接数据库时要用到)
最后执行: bin/mysql_ssl_rsa_setup --datadir=/data/mysql

前往mysql安装目录中的support-files文件夹,并运行以下操作:cd /usr/local/mysql/support-files

  1. 将位于support-files目录下的mysql.service移动到/etc/init.d/文件夹,并将其名称重命名为mysql。
    命令:该命令为:cp mysql.server /etc/init.d/mysql

编辑/etc/init.d/mysql服务配置文件,并通过vim编辑器访问该目录:vim /etc/init.d/mysql。向其告知数据库的位置信息以及存储路径信息以完成设置。

二. 启动MySQL数据库

  1. 启动MySQL服务
    运行命令:/etc/init.d/mysql start(或者service mysql start)

2.进入mysql数据库
执行命令:mysql -hlocalhost -uroot -p
《如果出现:-bash: mysql: command not found
就执行: # ln -s /usr/local/mysql/bin/mysql /usr/bin --没有出现就不用执行》
随后输入密码(密码是刚才生成的默认密码),输入密码时,是不显示的,输入后直接回车即可。
3.进入数据库后,暂时不允许查询数据库的操作,先通过修改user表password后才能对数据库操作。(也就是要强制你修改密码)
通过user表修改密码,这边就不说了,百度一下都有的。

2.执行命令
切换数据库

mysql> use mysql;

查询host
mysql> select user,host from user;

  1. 初始化主机参数
    如果主机参数未设置为'%',则执行以下操作:
  2. 更新user表中的主机设置为'%',其中用户为'root';
  3. 恢复权限设置。

MySQL8.0允许外部访问

一、前置条件:

按照

二、开始修改配置:

1,登进MySQL之后,

2,输入以下语句,进入mysql库:

复制代码
    use mysql
复制代码

3,更新域属性,’%’表示允许外部访问:

设置主机名为"%"

复制代码
    update user set host='%' where user ='root';

4,执行以上语句之后再执行:

复制代码
    FLUSH PRIVILEGES;

5,再执行授权语句:

复制代码
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

然后外部就可以通过账户密码访问了。

6,其它说明:

FLUSH PRIVILEGES; 命令本质上的作用是:

将当前活跃用户及权限表中的用户信息/权限设置移出至内存区域

MySQL用户的各项数据与权限被修改后,要求在不重启MySQL服务的情况下立即生效,则必须执行该命令

在修改ROOT帐号设置后感到担忧的是无法在重启后登录账户。此时进行flush操作可以直接查看权限设置的状态。

而不必冒太大风险。

三、可能存在的其它问题:

执行完之后,再用Navicat连接mysql,报错如下:

复制代码
    Client does not support authentication protocol requested by server;
复制代码

报错原因:

MySQL 8.0新增了caching_sha2_password这一新特性。该加密方法在Navicat 12及以下版本的客户端上无法实现。

Navicat 12以下客户端支持的是mysql_native_password 这种加密方式;

解决方案:

1,用如下语句查看MySQL当前加密方式

复制代码
    select host,user,plugin from user;
复制代码

查询结果

复制代码
 +-----------+------------------+-----------------------+

    
|host|user|plugin|

    
 +-----------+------------------+-----------------------+
    
|%|root|caching_sha2_password|

    
|localhost|mysql.infoschema|mysql_native_password|

    
|localhost|mysql.session|mysql_native_password|

    
|localhost|mysql.sys|mysql_native_password|

    
 +-----------+------------------+-----------------------+

看第一行,root加密方式为caching_sha2_password。

2,使用命令将他修改成mysql_native_password加密模式:

复制代码
    update user set plugin='mysql_native_password' where user='root';

再次连接的时候,就成功了。

四、如果还连接不上

通过以上操作后,依然无法连接上,问题可能出在了防火墙上。

1 MySQL部署于实体服务器上具体操作步骤如下: a 请打开MySQL服务的端口设置,默认情况下该服务运行于... 3306端口 b 建议谨慎操作以避免潜在风险 但建议在进行测试之前做好充分准备

2. MySQL部署在云计算机上的具体实施流程如下: 例如,在阿里云平台中,默认情况下已有部分功能模块可供使用。获取实例资源后,请按照以下步骤操作:首先确认所需的数据库配置参数;接着配置安全组参数;最后指定开放的端口号码即可完成配置。

三.系统配置,以及开机自动启动mysql服务器
1.进入系统全局配置文件 :vim /etc/profile
添加内容:export PATH=/usr/local/mysql/bin:$PATH
注意:此处path中的mysql就是你mysql安装的位置
保存文件,执行:source /etc/profile
使配置立刻生效。

配置mysql自动启动
赋予mysql服务文件执行权限
启用mysql服务
将mysql服务设置为高优先级启动
在阿里云服务器上配置安全组规则允许访问3306端口

四.总结

  1. 我倾向于将所有的软件包放置在/data/software文件夹中
  2. 软件的安装位置位于/usr/local文件夹内(例如:/usr/local/mysql)
  3. mysql数据库将被存储在/data/mysql文件夹中

全部评论 (0)

还没有任何评论哟~