本教程指针MySQL5.7.17版本安装,其他版本存在差异,未必使用

环境centos7

一、 下载mysql5.7

http://mirrors.sohu.com/mysql/MySQL-5.7/

我个人下载安装的是5.7.17版本64位。




mysqlroot密码设置不匹配_linux mysql修改密码


可以到上面网站下载,或在线下载,

输入命令:wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

二、解压

将下载好的压缩包放置/usr/local路径下,

1.切换到local路径

输入命令:cd /usr/local

2.解压到当前文件夹

输入命令:tar xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

3.重命名

输入命令:mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql

三、用户组

1.创建用户组

输入命令:groupadd mysql

2.用户组添加用户---- 参数表示mysql用户是系统用户,不可用于登录系统,创建用户mysql并将其添加到用户组mysql中

输入命令:useradd -r -g mysql mysql

3.设置权限

chown -R mysql mysql/
chgrp -R mysql mysql/

4.创建配置文件

vim /etc/my.cnf

编辑内容,添加如下配置:

[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#不区分大小写
lower_case_table_names = 1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_connections=5000
default-time_zone = '+8:00'

保存退出。

四、初始化数据库

1.#先安装一下这个东东,要不然初始化有可能会报错

yum install libaio

2.#手动编辑一下日志文件,什么也不用写,直接保存退出

cd /var/log/
vim mysqld.log
3.chmod 777 mysqld.log
4.chown mysql:mysql mysqld.log
5./usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

6.查看初始密码

cat /var/log/mysqld.log

最后的位置,root@localhost: 这里就是初始密码

五、启动服务进入数据库

1.输入命令:cd /var/run/

2.输入命令:mkdir mysqld

3.输入命令:chmod 777 mysqld

4.输入命令:cd mysqld

5.输入命令:vim mysqld.pid

6.输入命令:chmod 777 mysqld.pid

7.输入命令:chown mysql:mysql mysqld.pid

8.启动服务:

/usr/local/mysql/support-files/mysql.server start

9.登陆数据库

/usr/local/mysql/bin/mysql -uroot -p你在上面看到的初始密码

六、 window远程访问Linux虚拟机的mysql

1、 首先要关闭防火墙,这样window才能连接上

输入命令:systemctl stop firewalld.service


mysqlroot密码设置不匹配_linux mysql修改密码_02


2、 给window授权

输入命令: grant all privileges on *.* to root@'%' identified by '123456';


mysqlroot密码设置不匹配_linux mysql修改密码_03


3、 window远程连接

输入命令:mysql -hIP地址 -uroot -p123456


mysqlroot密码设置不匹配_linux mysql修改密码_04


七、设置path环境变量

输入命令:vi /etc/profile

设置环境变量:export PATH=$JAVA_HOME/bin:/usr/local/mysql/bin:$PATH


mysqlroot密码设置不匹配_mysqlroot密码设置不匹配_05


配置好环境变量后,我们就不用再去到/usr/local/mysql/bin目录才能登录了,现在可以在任意目录下登录mysql


mysqlroot密码设置不匹配_mysqlroot密码设置不匹配_06


异常,密码错误,无法登陆!!!

重置root密码

1、首先停止mysql服务进程:

service mysqld stop

/usr/local/mysql/support-files/mysql.server stop

2.编辑mysql的配置文件my.cnf

输入命令:vim /etc/my.cnf

3. 在[mysqld]这个模块:最后一行

输入命令:skip-grant-tables ##忽略mysql权限问题,直接登录

保存退出。

4.启动mysql服务

/usr/local/mysql/support-files/mysql.server start

5.登陆数据库

mysql

/usr/local/mysql/bin/mysql -uroot -p

密码直接回车

登陆成功


mysqlroot密码设置不匹配_mysqlroot密码设置不匹配_07


1.更改密码

update user set authentication_string=password('') where user='root' and host='localhost';

2.刷新权限

flush privileges;

到此设置完成,可以show databases;查看数据库。