一.下载MySQL
进入mysql官网选择下载版本https://dev.mysql.com/downloads/mysql/
通过XFtp上传到阿里云服务器上,因为下载的是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命令添加mysql的组别。
再执行:useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql 命令。
6. 切换到mysql的安装目录:cd /usr/local/mysql
7.改变目录属有者
执行:chown -R mysql .
执行:chgrp -R mysql .
执行:chown -R mysql /data/mysql
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
9.进入mysql安装目录的support-files文件夹下
执行命令:cd /usr/local/mysql/support-files
10.将support-files目录下的mysql.service复制到/etc/init.d/文件夹下并改名为mysql
命令:cp mysql.server /etc/init.d/mysql
11.修改/etc/init.d/mysql配置文件
命令: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;
4.创建host
如果没有"%"这个host值,就执行下面这两句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
MySQL8.0允许外部访问
一、前置条件:
按照https://blog.csdn.net/h996666/article/details/80917268安装完MySQL之后。
二、开始修改配置:
1,登进MySQL之后,
2,输入以下语句,进入mysql库:
use mysql
3,更新域属性,’%’表示允许外部访问:
创建host
如果没有"%"这个host值,就执行下面这两句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
update user set host='%' where user ='root';
4,执行以上语句之后再执行:
FLUSH PRIVILEGES;
5,再执行授权语句:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
然后外部就可以通过账户密码访问了。
6,其它说明:
FLUSH PRIVILEGES; 命令本质上的作用是:
将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。
MySQL用户数据和权限有修改后,希望在”不重启MySQL服务”的情况下直接生效,那么就需要执行这个命令。
通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。
而不必冒太大风险。
三、可能存在的其它问题:
执行完之后,再用Navicat连接mysql,报错如下:
Client does not support authentication protocol requested by server;
报错原因:
mysql8.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部署在云计算机上的方案如下: a.以阿里云为例,找到实例,设置安全组,开放端口号即可。
三.系统配置,以及开机自动启动mysql服务器
1.进入系统全局配置文件 :vim /etc/profile
添加内容:export PATH=/usr/local/mysql/bin:$PATH
注意:此处path中的mysql就是你mysql安装的位置
保存文件,执行:source /etc/profile
使配置立刻生效。
配置mysql自动启动
chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on
3.最后在阿里云服务器中添加安全组,允许访问3306端口文章来源:https://www.toymoban.com/news/detail-530656.html
四.总结
1.我喜欢把所有软件包放在/data/software目录下
2.在/usr/local目录下安装软件的安装位置(例如:/usr/local/mysql)
3.将mysql数据库存储放在/data/mysql目录下
文章来源地址https://www.toymoban.com/news/detail-530656.html
到了这里,关于阿里云(Linux)服务器安装MySQL的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!