Centos8上安装Mysql8.X

一、下载Mysql

  • 下载地址:https://dev.mysql.com/downloads/mysql/

 

 

二、将压缩包通过ftp软件服务器的目标位置:并解压

  1、我的是放在:/root/softwares

   

   2、解压为tar文件:xz -dev mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz 

     

 

  3、解压mysql-8.0.27-linux-glibc2.12-x86_64.tar 到 目录 /opt下面,注意不要放在root及其子目录下,会有权限问题。

    3.1 解压并移动到 opt 目录下: tar -xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar -C /opt/

    3.2  重命名:mv mysql-8.0.27-linux-glibc2.12-x86_64 mysql8

    

 

三、配置日志目录及mysql环境变量

    1、进入mysql解压后的目录mysql8,并创建存放mysql日志的目录

      • cd /opt/mysql8/
      • mkdir data

 

     

 

 

     2、配置mysql环境变量

    1. vim /etc/profile
    2. MYSQL_HOME=/opt/mysql8/bin
    3. PATH=$PATH:$MYSQL_HOME
    4. export MYSQL_HOME PATH

 

 

 

  配置完成后重载:source /etc/profile

 

四、创建mysql用户组及用户

  mysql是出于安全考虑,默认拒绝用root账号启动mysql服务。所以我们创建一个mysql用户组和mysql的用户。

  1. groupadd mysql
  2. useradd -g mysql mysql
  3. mysql用户关联并修改权限

  

 

五、安装依赖包:

  查询是否安装libaio依赖包:yum search libaio

  

 

 

  如果没安装,可以用下面命令安装:yum install libaio

   

 

六、初始化mysql

  初始化mysql:mysqld --user=mysql --basedir=/opt/mysql8 --datadir=/opt/mysql8/data --initialize

  注意1:初始化成功之后会有一个临时密码,红色框内的是mysql数据库登录的临时密码,保存备用,每个人安装生成的临时密码不一样。

  注意2:如果在解压压缩包的时候,没有移动到opt文件夹下,直接放在root文件夹下,回报权限错误

  重点知识2: --initialize和--initialize-insecure区别
    --initialize: 会生成一个12位,4种密码复杂度临时管理员密码. 第一次登陆需要修改.
    --initialize-insecure:管理员密码为空.

 

  

 

 

七、启动mysql 

  sh /opt/mysql8/support-files/mysql.server start

  上面启动mysql服务命令是会报错的,因为没有修改mysql的配置文件,报错内容大致如下

  

  修改/opt/mysql8/support-files/mysql.server 配置文件

   接下来: 

  cp /opt/mysql8/support-files/mysql.server /etc/init.d/mysqld

  chmod 755 /etc/init.d/mysqld

  将mysql服务加到系统服务中
  chkconfig --add mysqld

  开机自启动
  chkconfig mysqld on

 

八、修改配置文件

  这里下载的mysql8.0.27版本并没有这个my.cnf文件,因此直接创建的。

  vim /etc/my.cnf

[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
basedir=/opt/mysql8
datadir=/opt/mysql8/data
socket=/tmp/mysql.sock
user=mysql
port=3306
character_set_server=utf8
# symbolic-links=0
bind-address=0.0.0.0


[mysqld_safe]
log-error=/opt/mysql8/data/error.log
pid-file=/opt/mysql8/data/mysqld.pid
tmpdir=/tmp

  然后,授权文件my.cnf

  

 

九、mysql启动服务

  

 

十、登录mysql

  mysql -u root -p

  

   如果报错:

  

  解决方案:sudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5

 

 

十一、修改密码

  use mysql

  这时候报了一个错:

  

 

  解决办法:

  修改初始密码:alter user 'root'@'localhost' identified by 'Se7eN521';

  刷新:flush privileges;

  

   至此,完成mysql8.0.23的安装。

 

十二、Navicat连接

  如果出现这个错误。

  

 

   解决方法

  1、在安装Mysql数据库的主机上登录root用户:

    mysql -u root -p

  依次执行如下命令:

   use mysql;

   select host from user where user='root';

  

 

  可以看到当前主机配置信息为localhost.

  2.将Host设置为通配符%

  Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。

  user=root Host=localhost,表示只能通过本机客户端去访问。

  而%是个通配符,如果 Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。

  如果Host=%,表示所有IP都有连接权限。

  注意:在生产环境下不能为了省事将host设置为%,这样做会存在安全问题,具体的设置可以根据生产环境的IP进行设置;

  

 

  问题二:如果出现下面的问题,是服务器上没有开放mysql的端口号,去服务器的安全组或者防火墙中添加mysql的端口号即可

  

 

 

   改好之后,重启一下mysql,即可使用Navicat连接

 

posted @ 2021-11-10 14:10  Se7eN_HOU  阅读(625)  评论(0编辑  收藏  举报