阿里云(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
- 将位于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数据库
- 启动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;
- 初始化主机参数
如果主机参数未设置为'%',则执行以下操作: - 更新user表中的主机设置为'%',其中用户为'root';
- 恢复权限设置。
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端口
四.总结
- 我倾向于将所有的软件包放置在/data/software文件夹中
- 软件的安装位置位于/usr/local文件夹内(例如:/usr/local/mysql)
- mysql数据库将被存储在/data/mysql文件夹中
