centos中安装mysql8.0,修改root密码

本身想搭一个工厂,奈何阿里云的rds太贵了,只好本身在本身的机器中安装一个mysql,看到mysql中8已经发布了,就直接安装最新的了;8中的修改root的密码有点不太同样;坑在这里了;直接上命令mysql

1、mysql8 的安装linux

一、下载mysql8的压缩包:sql

#] wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz

二、解压安装包到当前目录:数据库

#] tar -xf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz

三、建立文件夹,并把解压后的文件copy到/usr/local/mysql目录下,建立/usr/local/mysql/data目录bash

#] mkdir /usr/local/mysql
#] cp mysql-8.0.12-linux-glibc2.12-x86_64/* /usr/local/mysql
#] mkdir /usr/local/mysql/data
#] chown -R mysql:mysql /usr/local/mysql/data

四、建立mysql用户和群组socket

#] groupadd mysql
#] useradd mysql
#] useradd -g mysql mysql

五、执行初始化命令阿里云

#] /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

六、编辑/etc/my.cnf 文件;在[mysqld]的内容添加这两行rest

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

七、把启动命令加入到系统服务service管理中;code

#] cp support-files/mysql.server /etc/init.d/mysqld
#] chmod 755 /etc/init.d/mysqld

八、启动mysqlcdn

#] service mysqld start

九、把mysql的命令添加到path中,修改/etc/profile文件,在这个文件的最后面添加一行

export PATH=$PATH:/usr/local/mysql/bin

   而后执行source /etc/profile,使path生效

source /etc/profile

 

注:若是看到 打印出来的日子为 【ok】,mysql启动成功了;有可能报有一些文件夹没有权限,只须要把那些没有权限的文件夹改为功mysql:msyql 群组的就能够了

chown -R mysql:msyql 文件夹

安装就到这个步骤;安装就完成了;

2、下面就是修改密码的一个部分了;(也是坑的地方)

       安装启动后,发现root的密码不知道是什么;因此就要手动修改密码;

一、在/etc/my.cnf文件夹中的 [mysqld] 的后面添加skip-grant-tables;跳过登入权限验证;

[mysqld]
port=3306
user=mysql
socket=/tmp/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
# 添加跳过验证(修改后重启,修改完后删除再重启)
skip-grant-tables

    重启msyql服务 (使修改的配置生效)

service mysqld restart

二、直接链接是数据 用(mysql -u root)直接连上数据库:(若是仍是报密码错误,修改的配置文件没有生效,查询是否修改错误,而后再次重启服务);

mysql> use mysql;
     #先把密码置为空字符串;(不让后面修改密码会报错)
mysql> use mysql;
mysql> update user set authentication_string="" where user="root";
     #这个刷新很是有必要;不让后面执行alter就会出错
mysql> flush privileges;

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';