前言:最近需要部署一个5.7版本的mysql,供开发测试用。
1,先建好指定目录,我准备在把安装包下载到/opt/mysql
mkdir /opt/mysql
cd /opt/mysql
2,下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
3,解压
[root@localhost mysql]# tar -zxvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
#发现报错,查了百度的解决办法是去掉 z
[root@localhost mysql]# tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
mysql-community-libs-5.7.27-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.27-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm
mysql-community-devel-5.7.27-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.27-1.el7.x86_64.rpm
mysql-community-common-5.7.27-1.el7.x86_64.rpm
mysql-community-client-5.7.27-1.el7.x86_64.rpm
mysql-community-server-5.7.27-1.el7.x86_64.rpm
mysql-community-test-5.7.27-1.el7.x86_64.rpm
mysql-community-embedded-5.7.27-1.el7.x86_64.rpm
4,检查下centos7自带的mariadb,有则卸载掉
[root@localhost ~]# rpm -qa | grep -i mariadb
mariadb-libs-5.5.56-2.el7.x86_64
#卸载
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
#再次检查
[root@localhost ~]# rpm -qa | grep -i mariadb
5,安装mysql server端需要的相关依赖
[root@localhost ~]# yum install perl -y
6,然后依次安装这四个rpm
rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm
7,安装完成后,将mysql添加到系统服务中去
[root@localhost mysql]# systemctl start mysqld.service
8,启动mysql
[root@localhost mysql]# service mysqld start
Redirecting to /bin/systemctl start mysqld.service
9,第一次启动,mysql生成了一个默认密码,在mysqld.log里
[root@localhost mysql]# cat /var/log/mysqld.log | grep root
2019-09-10T08:48:10.249122Z 1 [Note] A temporary password is generated for root@localhost: ;8ezo>1uu(Ei
10,用这个密码登陆,再修改密码
[root@localhost mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.27
mysql> set password = password('新密码');
11,如果提示你的密码设置过于简单,可以降低密码检查等级
mysql> set global validate_password_policy=LOW;
12,方便以后使用Navicat等数据库软件远程连接,需要开启外部远程访问权限
mysql> grant all privileges on *.* to 'root' @'%' identified by '密码';
13,更新配置
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
至此就可以用Navicat连接了。
但是数据库账号是root,权限太大,可能要根据项目分配账号等。
14,新建haha用户,密码123456,并授权
create user 'haha'@'localhost' identified by '123456';
15,给新用户授权
grant all privileges on *.* to 'haha'@'%' identified by '123456';
#格式:
grant 权限 privileges on 数据库.* to 用户名@登录主机 identified by '密码';
16,查看用户权限
mysql> show grants for 'cardoor'@'localhost';
+------------------------------------------------------+
| Grants for cardoor@localhost |
+------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'cardoor'@'localhost' |
+------------------------------------------------------+
1 row in set (0.00 sec)
17,最后再更新一下配置
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
用新账号登陆,大功告成!!