介绍:mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz是一个官网帮我们编译好了的安装包,直接解 压缩即可
1)上传到虚拟机解压缩、改名、移动
tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.11-linux-glibc2.5-x86_64 mysql
mv mysql /usr/local
2)创建目录,进入mysql目录
cd /usr/local/mysql
mkdir arch tmp relay_log
备注:
arch(记录binglog日志的信息)
tmp(临时目录,很多软件安装时需要一个临时目录,默认的临时时/tmp,我们在my.cnf
配置文件中设置临时目录/usr/local/mysql/tmp目录)
3)创建用户及用户组(很多软件安装时,使用的都是普通用户,在数据库安装时,可以先创建 用户组,再创建用户)
#创建用户组
groupadd dba #创建mysql用户,并将mysql用户添加到此用户组下
useradd -g dba -d /usr/local/mysql mysql
备注:
a)-g参数,可以直接指定用户组
b)-d参数:如果没有加-d参数,mysql用户的家目录是/home/mysql,这里一旦加上d参数了,并且指定路径了/usr/local/mysql,mysql用户的家目录变成 了/usr/local/mysql
4)解决-bash-4.2$
正常的用户登录的界面:
[【当前用户】@【主机名】 【当前路径】] root用户:默认的家目录在/root目录
普通用户:默认的家目录在/home/[用户名]
如果出现-bash-4.2问题:
因为删除了当前用户的家目录下的以.bash开头的隐藏文件(用户的环境配置文件) 解决:
进入/etc/skel目录,将这三个隐藏文件复制到用户的家目录下即可
5)需要配置mysql用户环境变量文件
(很多软件解压缩之后,一般都会有bin或者是sbin目录, 其中放置的都是命令,我们需要在任意目录下执行这个命令,所以需要配置mysql用户环境变量 文件) 注意一点:到第五步时,.bash_profile的属主属组都是root,mysql用户没有权限,所以切换到root用户
[root@localhost skel]# cd /usr/local/mysql
[root@localhost mysql]# pwd
/usr/local/mysql
[root@localhost mysql]# ls -al
[root@localhost mysql]# vi .bash_profile
添加
export PATH=${PATH}:/usr/local/mysql/bin
[root@localhost mysql]# source .bash_profile
6)上传mysql的配置文件my.cnf【win中配置文件是my.ini,linux中是my.cnf】
[root@localhost ~]# mv my.cnf /etc/ mv: overwrite ‘/etc/my.cnf’? y
备注:/etc/目录是很多软件的配置文件放置的目录
7)改权限(让mysql用户能够操作其家目录下的文件或者目录)
#需要使用root用户
chmod -R 755 /usr/local/mysql/
#改属主属组
chown -R mysql:dba /usr/local/mysql
#配置文件也给改一下
chown -R mysql:dba /etc/my.cnf
chmod -R 640 /etc/my.cnf
8)安装libaio包
yum -y install libaio
9)配置mysql服务
虽然没有mysql.service,但是mysql给我们提供了一个mysql.server脚本,我们不能用
systemctl了。还得用service命令,service支持运行脚本文件
将mysql.server复制到service命令读取的目录下
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
备注:/etc/rc.d/init.d是service读取脚本的路径
验证:
[root@localhost init.d]# service mysql status
ERROR! MySQL is not running
10)配置mysql服务的开机自动启动
chkconfig --add mysql
chkconfig mysql on
11)创建存储mysql数据的目录data目录
#需要切换到mysql用户执行
su - mysql
#创建存储mysql数据的目录data目录
[mysql@localhost ~]$ pwd
/usr/local/mysql
[mysql@localhost ~]$ ls
arch bin COPYING docs include lib man README relay_log share
support-files tmp
[mysql@localhost ~]$ mkdir data
[mysql@localhost ~]$ ls
arch bin COPYING data docs include lib man README relay_log
share support-files tmp
[mysql@localhost ~]$
12)初始化mysql数据库
/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --
basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
13)查看临时密码有没有生成
cat /usr/local/mysql/data/hostname.err | grep password
14)启动mysql服务
[mysql@localhost data]$ service mysql start
Starting MySQL. SUCCESS!
15)进入mysql
[mysql@localhost data]$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.11-log
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights
reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.
mysql>
16)修改密码
mysql> ALTER USER root@localhost identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)