Centos7.2安装mysql8

1、安装前工作

在安装前需要确定现在这个系统有没有 mysql,如果有那么必须卸载 (在 centos7 自带的是 mariaDb 数据库,所以第一步是卸载数据库)。

  #查看mariadb数据库:rpm -qa | grep mariadb

  #卸载mariadb数据库:rpm -e --nodeps  mariadb文件名

  #查看 mysql 数据库:rpm -qa | grep -i mysql

  #卸载 mysql 数据库:rpm -e mysql文件名 # 如果有关联文件,不能直接卸载。可以用一下命令强制卸载:rpm -e --nodeps mysql文件名) 

  #删除etc目录下的my.cnf文件:rm /etc/my.cnf

2、官网下载

下载成功之后,上传到云服务

 

3、解压到/usr/local下面

解压命令:tar -xvf mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz -C /usr/local/

4、添加mysql用户组和用户

  #首先检查mysql用户和组是否存在  

  cat /etc/group | grep mysql      

  cat /etc/passwd | grep mysql

  #添加mysql用户和组  

  groupadd mysql          

  useradd -r -g mysql mysql

5、初始化mysql配置表

  # chown -R mysql:mysql ./  修改当前目录为mysql用户

  #./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-8.0.13-linux-glibc2.12-x86_64 --datadir=/usr/local/mysql-8.0.13-linux-glibc2.12-x86_64/data

    初始化数据库

  # 如果出现如图所示错误,则说明这是缺少numactl,这个时候如果是Centos就yum -y install numactl就可以解决,然后重新运行上面的initialize命令

  # 再次执行,注意下图中initialize成功,会出现一个随机密码

 

  #修改当前用户为root用户  chown -R root:root ./

  #修改当前的data目录为mysql用户   chown -R mysql:mysql data/

  cd support-files/

  touch my-default.cnf

  cp ./my-default.cnf /etc/my.cnf

 mkdir tmp

 chmod 777 ./tmp/  

修改/etc/my.cnf配置文件

[mysqld]
basedir=/usr/local/mysql-8.0.13-linux-glibc2.12-x86_64
datadir=/usr/local/mysql-8.0.13-linux-glibc2.12-x86_64/data
port=3306
socket=/usr/local/mysql-8.0.13-linux-glibc2.12-x86_64/tmp/mysql.socket
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 

 

6、加入开机启动项

  #copy

  #增加执行权限

  #注册启动服务

   #查看是否添加成功

cp mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

cd ..

chkconfig --add mysqld

  #启动服务

cd support-files/
./mysql.server start --user=mysql

 

7、配置环境变量

  # vi /etc/profile

export PATH=$PATH:/usr/local/mysql-8.0.13-linux-glibc2.12-x86_64/bin:/usr/local/mysql-8.0.13-linux-glibc2.12-x86_64/lib

# 保存退出之后 执行source /etc/profile让文件生效

8、登录并修改初始密码

  # 建立软链接  ln -s /usr/local/mysql-8.0.13-linux-glibc2.12-x86_64/tmp/mysql.socket /tmp/mysql.sock

 

  # 登录mysql,密码是刚刚生成的

,修改密码  alter user 'root'@'localhost' identified by '123456';

 

9, 授权用户:任意主机以用户root和密码mypwd连接到mysql服务器

  # 查询user和host,并将host改成‘%’  select user,host from user;

  # update user set host = '%' where user = 'root';

  # flush privileges;

 

  # 经过以上步骤如果还连不上,可以试试以下方式,重置以下密码

  # ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

posted @ 2018-12-27 00:03  鬼谷山人  阅读(1440)  评论(0编辑  收藏  举报