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

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

一、mysql8 的安装

1、下载mysql8的压缩包:

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

2、解压安装包到当前目录:

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

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

#] 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

4、创建mysql用户和群组

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

5、执行初始化命令

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

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

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

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

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

8、启动mysql

#] service mysqld start

9、把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 文件夹

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

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

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

1、在/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

2、直接连接是数据 用(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 '密码';

 

你可能感兴趣的:(mysql)