centos7.2安装mysql-5.7.20
环境:阿里云centos7.2
mysql版本:mysql-5.7.20
mysql下载地址:https://dev.mysql.com/downloads/mysql/ 选择对应的版本
一、安装步骤
1、下载mysql
命令:wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
默认在root目录下面
2、解压文件
命令:tar xvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
3、安装mysql-community-common-5.7.20-1.el7.x86_64.rpm
命令:1)rpm -qa | grep mariadb 查看是否存在mariadb
2)rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64 卸载存在的项目
3)rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
4、安装mysql-community-libs-5.7.20-1.el7.x86_64.rpm
命令:rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm
5、安装mysql-community-client-5.7.20-1.el7.x86_64.rpm
命令:rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm
6、安装mysql-community-server-5.7.20-1.el7.x86_64.rpm
命令:1)yum install libaio 安装libaio
2)rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
7、数据库初始化并启动
注:保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你是以 root
身份运行 mysql 服务,需要执行下面的命令初始化
命令:1)mysqld --initialize --user=mysql
2)systemctl start mysqld.service
执行命令后会在文件中生成一个默认的数据库登录密码
8、查看数据库登录密码
命令:cat /var/log/mysqld.log 图中选中的区域就是密码
9、登录mysql修改密码
命令:mysql -uroot -p 输入密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码'
二、重置mysql数据库root 密码:
1、首先停止mysql服务进程:
service mysqld stop
2、编辑mysql的配置文件my.cnf
vim /etc/my.cnf
3、找到 [mysqld]这个模块:在最后面添加一段代码,
skip-grant-tables
代码意思是:忽略mysql权限问题,直接登录
4、然后保存退出
:wq!
5、启动mysql服务:
service mysqld start
6、进入mysql数据库
mysql -u root -p
直接回车,不用输入密码即可进来
7、修改mysql的root密码,这个重要,因为新版的
旧版:
更新密码
update user set password=password("123456") where user="root";
刷新权限
flush privileges;
如果,出现 ERROR 1054 (42S22): Unknown column 'Password' in 'field list'
说明,新版password改成了authentication_string存储密码
新版:
更新密码
update mysql.user set authentication_string=password('xixi20080608') where user='root';
刷新权限
flush privileges;
8、改完后通过密码进入数据库,发现不能操作数据库,出现:ERROR 1064 (42000),再次输入下面代码即可(上图第9步)。
alter user 'root'@'localhost' identified by '新密码';
添加用户,新建数据库,用户授权,删除用户,修改密码
1、新建用户
创建test用户,密码是1234。
mysql -u root -p
CREATE USER “test”@”localhost” IDENTIFIED BY “1234”; #本地登录
CREATE USER “test”@”%” IDENTIFIED BY “1234”; #远程登录
quit
mysql -utest -p #测试是否创建成功
2、为用户授权
a.授权格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;
b.登录MYSQL,这里以ROOT身份登录:
mysql -u root -p
c.为用户创建一个数据库(testDB):
create database testDB;
create database testDB default charset utf8 collate utf8_general_ci;
d.授权test用户拥有testDB数据库的所有权限:
grant all privileges on testDB.* to “test”@”localhost” identified by “1234”;
flush privileges; #刷新系统权限表
e.指定部分权限给用户:
grant select,update on testDB.* to “test”@”localhost” identified by “1234”;
flush privileges; #刷新系统权限表
f.授权test用户拥有所有数据库的某些权限:
grant select,delete,update,create,drop on . to [email protected]”%” identified by “1234”; #”%” 表示对所有非本地主机授权,不包括localhost
3、删除用户
mysql -u root -p
Delete FROM mysql.user Where User=”test” and Host=”localhost”;
flush privileges;
drop database testDB;
删除账户及权限:
drop user 用户名@’%’;
drop user 用户名@ localhost;
4、修改指定用户密码
mysql -u root -p
update mysql.user set authentication_string=password(“新密码”) where User=”test” and Host=”localhost”;
flush privileges;