linux-Cent os 7 安装Mysql8.0(教程)

开始安装mysql

1.从官网网站下载相应版本的MySQL

 MySQL :: MySQL Downloads

下载时要注意版本号,我所用的为Cent OS7,所以我选择这个 

注:tar.gz:tar.gz就是一个压缩包,类似于win上面的zip等文件

rpm:rpm是一种用来打包软件的的文件格式,他是一种特定的专门用来进行软件的安装、卸载等操作的格式

yum:yum可以理解为一个专门用来管理软件的体系,有点类似于Java中的maven,可以管理软件之间相互依赖的问题,他和前两种的不同之处就是,他的安装不是简单的使用tar和rmp命令行就可完成对某一个软件的安装,而是通过配置yum文件实现对软件的一个自动下载、安装以及缺失依赖的自动过程。

下载完毕,上传至服务器 。

2.检查服务器

检查Linux中是否已安装mysql。

rpm -qa|grep mysql

如果有,就卸载掉

yum -y remove xxxxxxxxxxx

检查Linux中是否存在mariadb(CentOS7中mariadb和mysql有冲突,mariadb数据库是mysql的分支,如果以前安装了要卸载掉,不然安装不成功的)

rpm -qa |grep mariadb
或者
yum list installed|grep mariadb

如果有,就卸载掉

rpm -e --nodeps mariadb -libs (强制卸载,--nodeps忽略依赖)
yum -y remove mariadb-libs.x86_64

3.解压安装包 

tar -zxvf xxxxxxxxxx

4.依次安装

rpm -ivh mysql-xxxxxxxx

mysql-community-common
mysql-community-client-plugins
mysql-community-libs
mysql-community-client
mysql-community-icu-data-files
mysql-community-devel
mysql-community-server

5.安装好之后,初始化一下

mysqld --initialize --console

 6.安装目录所属者和所属组修改一下,以便msyql用户有权限直接使用

chown -R mysql:mysql /var/lib/mysql/    递归的方式设置权限

7.启动服务

systemctl start mysqld
或者
service mysql start

8.查看初始化时,生成的临时密码

cat /var/log/mysqld.log |grep localhost

9.登录并修改root密码

mysql -u root -p     (登录)
alter user 'root'@'localhost' identified by '你想要修改的密码';  (修改密码)
update user set host ='%' where user='root';  (修改 root 用户的 host 列值,开启远程连接。允许使用 root 用户进行远程连接)
flush privileges;   (刷新缓存)

systemctl start mysqld.service (启动mysql服务)
systemctl stop mysqld.service  (停止mysql服务)
systemctl restart mysqld.service (重启mysql服务)
systemctl reload mysqld.service  (重新加载配置)
systemctl status mysqld.service  (查看mysql服务当前状态)
systemctl enable mysqld.service  (设置mysql服务开机自启动)
systemctl disable mysqld.service  (停止mysql服务开机自启动)
systemctl list-units --type=service (查看所有已启动的服务)

至此,MySQL已经安装完成。



可能出现的问题:

1.通过navicat等远程连接工具连接失败。

Mysql8已经将之前的mysql_native_password认证,修改成了caching_sha2_password认证方式。所以,使用类似于navicat或是sqlyog这些客户端时,默认使用还是mysql_native_password认证方式,所以即使输入正确的用户和密码依然登录不成功。

而且,

 mysql8开始,无法给未创建的用户授权。

create user 'root'@'%' identified with mysql_native_password by '123456';  
(创建用户,并使用mysql_native_password方式加密)
grant all privileges on *.* to 'root'@'%';   
(授予root用户所有权限。all是指所有权限,*是指此用户可以访问所有的库和表)
flush privileges;   (刷新权限)

2.ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

mysql.sock:连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。这可能发生在你的系统运行一个cron任务删除了/tmp下的临时文件。

如果你因为丢失套接字文件而不能连接,你可以简单地通过重启服务器重新创建得到它。因为服务器在启动时重新创建它。

可以参考:

亲测有效,解决Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";_hjf161105的博客-CSDN博客

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值