1、实施背景
安装Mysql数据库mysql 5.7。


实施过程:
在新服务器上安装CentOS 6.7系统,并创建MySQL数据库;
1.1软件环境
数据库软件:
mysql-5.7.16-linux-glibc2.5-x86_64.tar
操作系统:
Linux CentOS 6.7 x86_64
1.2 数据库环境            
数据库实例名:mysql


2、单机数据库安装
2.1 安装包

   mysql 安装包  wKiom1irnkejH_eNAAAk3XyOluk329.jpg

   Centos镜像包 wKiom1irnlfRd9wUAAAi0xnGpHE939.jpg

2.2 安装过程
软件安装过程:
一、 安装之前先要检查曾经是否搭建过Mysql数据库,若有则删除

检查命令:rpm -qa | grep mysql
删除命令:
普通删除模式:rpm -e mysql
强力删除模式:rpm -e --nodeps mysql
 
二、解压安装二进制包,解压后有如下两个包
tar -xvf mysql-5.7.16-linux-glibc2.5-x86_64.tar

mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
mysql-test-5.7.11-linux-glibc2.5-x86_64.tar.gz
 
执行 rm -rf mysql-test-5.7.11-linux-glibc2.5-x86_64.tar.gz 操作

只需要mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz 这个包即可。
 
三、建立用户和目录
 
将之前的用户和组删除干净,否则在后面的建立用户mysql,组mysql会有报错。
#userdel mysql
#groupdel mysql


建立目录/home/mysql,此后mysql安装在此目录下面。

#mkdir /home/mysql

#mkdir -p /home/mysql/data
#groupadd mysql
#useradd -r -g mysql -d /home/mysql mysql

更改mysql的权限:chown  mysql:mysql /home/mysql -R
 注:修改完毕后进入home目录下查看关于mysql相关的目录是否是mysql:mysql权限,若不是则需要手动修改

 
四、准备环境已安装完成,进行mysql环境的安装
 
将前面得到的mysql-5.7.16-linux-glibc2.5-x86_64.tar解压至/home/mysql目录下
 #tar zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz -C /home/mysql 
这时在 /home/mysql下得到的解压后的文件(mysql-5.7.11-linux-glibc2.5-x86_64)放置于mysql的家目录下并更改名字:
 
#mv mysql-5.7.11-linux-glibc2.5-x86_64 /home/mysql/mysql
 
此后就可以用/home/mysql/mysql来找到mysql的安装目录了
 
注意,如果mysql目录下没有data目录,手动建一个。(见安装过程第三步)
 
五、目录权限设置
 
将mysql及其下所有的目录所有者和组均设为mysql:
 
#cd /home/mysql/mysql
#chown mysql:mysql -R .
 
六、初始化
#/home/mysql/mysql/bin/mysqld --initialize --user=mysql --datadir=/home/mysql/data --basedir=/home/mysql/mysql
 
初始化成功后出现如下信息:
 
201x-xx-xxT07:10:13.583130Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
 
201x-xx-xx T07:10:13.976219Z 0 [Warning] InnoDB: New log files created, LSN=45790
 
201x-xx-xx T07:10:14.085666Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
 
201x-xx-xx T07:10:14.161899Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 1fa941f9-effd-11e5-b67d-000c2958cdc8.
 
201x-xx-xx T07:10:14.165534Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
 
201x-xx-xx T07:10:14.168555Z 1 [Note] A temporary password is generated for root@localhost:
bs4*2#Y%B4T0  -- 初始密码,记得保存
 
七、配置
 
将mysql/support-files下的my-default.cnf改名为my.cnf,拷到/etc下(或者考到{mysql}下,然后作一个软链接到/etc下):
 
#cp /home/mysql/mysql/support-files/my-default.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? Yes
 

# vi /etc/my.cnf

修改或添加my.cnf中关键配置:
[mysqld]
basedir = /home/mysql/mysql
datadir = /home/mysql/data
port = 3306
socket = /tmp/mysql.sock

[client]

socket = /tmp/mysql.sock

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES (建议忽略,楼主此处已注释)
 
注意,tmp目录不存在,创建。
 
八、设置mysql以服务运行并且开机启动
 
将cd /home/mysql/mysql/support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限
 
#cp /home/mysql/mysql/support-files/mysql.server /etc/init.d/mysql
#chmod +x /etc/init.d/mysql
 
把mysql注册为开机启动的服务
 
#chkconfig --add mysql on
 
当然也可以手动进行服务的开启和关闭:
 
# /etc/init.d/mysql start
 
# /etc/init.d/mysql stop
 
# /etc/init.d/mysql start


3、验证测试
3.1进入测试
# /home/mysql/mysql/bin/mysql -uroot -p
 
此时要求输入密码,就是前面初始化时生成的密码。
连上后,在做任何操作前,mysql要求要改掉root的密码后才能进行操作。
 
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
 
mysql> alter user 'root'@'localhost' identified by 'password';


3.2查看mysql是否运行
ps -ef|grep mysqld
netstat -lnp | grep -i mysql


扩展

实现功能:不需要每次进入mysql家目录执行命令进入mysql数据库,今扩展知识是加入环境变量
修改 bashrc 文件,不知道此文件在库文件的哪个地方的哥们,可以通过"find / -name bashrc"找到;
在文件最后一行添加:export PATH=/home/mysql/mysql/bin:$PATH;
使环境变量生效:source ~/.bashrc