CentOS7安装MySQL数据库

介绍如何在Linux下安装MySQL

1、下载MySQL:官网https://www.mysql.com/,点击Downlosas,翻到网页底部,下载社区版,一路点下去,选择通用Linux,下载64位那个,注意检查MD5

值。

CentOS7安装MySQL数据库_第1张图片

CentOS7安装MySQL数据库_第2张图片

CentOS7安装MySQL数据库_第3张图片

2、安装关键步骤,直接贴出命令

[root@CentOS MySQL]# tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local
[root@CentOS MySQL]# cd /usr/local
[root@CentOS local]# mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql
[root@CentOS local]# cd mysql
[root@CentOS mysql]# mkdir data
[root@CentOS mysql]# groupadd mysql
[root@CentOS mysql]# useradd -r -g mysql -s/bin/false mysql
[root@CentOS mysql]# chown -R mysql:mysql ./
[root@CentOS mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2017-02-23T07:43:03.404885Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-02-

23T07:43:04.442174Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-02-23T07:43:04.588507Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-02-23T07:43:04.646721Z 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: b5c8e226-f99b-11e6-beb5-b7c1a1e39029.
2017-02-23T07:43:04.671492Z 0 [Warning] 

Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-02-23T07:43:04.672338Z 1 [Note] A temporary password is generated for root@localhost: I%e=s+lfx9ko
[root@CentOS mysql]# 

bin/mysql_ssl_rsa_setup  --datadir=/usr/local/mysql/data
Generating a 2048 bit RSA private key
.....................................+++
..............................+++
writing new private key to 'ca-key.pem'
-----
Generating a 2048 bit RSA private key
.........................................+++
.........................+++
writing new private key to 'server-key.pem'
-----
Generating a 2048 bit RSA private key
..................................................+++
...................................................................................................................................................................................................+++
writing 

new private key to 'client-key.pem'
-----
[root@CentOS mysql]# cd support-files
[root@CentOS support-files]# cp my-default.cnf /etc/my.cnf
[root@CentOS support-files]# gedit /etc/my.cnf
[root@CentOS support-files]# cp mysql.server /etc/init.d/mysqld
[root@CentOS support-files]# service mysqld start
Starting MySQL.Logging to '/usr/local/mysql/data/CentOS.cn.err'.
. SUCCESS! 
[root@CentOS support-files]# ps aux |grep mysql
root      18279  0.0  0.0  11764  1576 pts/0    S    17:34   0:00 /bin/sh 

/usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/CentOS.cn.pid
mysql     18449  1.9  9.5 1182688 177940 pts/0  Sl   17:34   0:00 /usr/local/mysql/bin/mysqld --

basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/CentOS.cn.err --pid-file=/usr/local/mysql/data/CentOS.cn.pid 

--socket=/tmp/mysql.sock --port=3306

[root@CentOS support-files]#

一行一行解释:

把压缩包解压到/usr/local目录下,就是把MySQL安装在该目录下。

切换到/usr/local,把刚才解压后的文件夹重命名为mysql。

在mysql目录下创建data文件夹,用来存储MySQL的数据。

增加用户组mysql。

增加用户名mysql属于mysql组。

修改mysql目录的拥有者和组。

初始化MySQL,分两步:第一步,bin/mysqld  注意后面给的参数,之一部会产生一个临时密码,保存,后面登录数据库要用到;第二步,bin/mysql_ssl_rsa_setup,看起来像是对数据库安全的处理,注意后面给的参数。

切换到support-files目录。

把my-default.cnf拷贝到 /etc/my.cnf,注意CentOS7自带了一个my.cnf文件,覆盖掉。

编辑该文件,只对18,19,20,22行修改,如下

CentOS7安装MySQL数据库_第4张图片

把mysql.server文件拷贝到/etc/init.d/mysqld下,主要负责MySQL的开机启动。

启动mysqld进程。

查询mysql进程。有两个:/mysql/bin/mysqld_safe、/mysql/bin/mysqld

3、后续配置:
登录mysql,修改临时密码:/usr/local/mysql/bin/mysql -u root -p 回车输入初始化时生成的临时密码,修改密码:set password for  'root'@localhost=password('xxxxxx');
每次登录mysql客户端嫌输绝对路径麻烦,就建一个软连接:ln -s  /usr/local/mysql/bin/mysql  /usr/bin/mysql,这样也省去了配PATH路径的麻烦。
mysqld的开机启动,使用chkconfig命令
chkconfig --add mysqld    #增加mysqld服务
chkconfig --list                #列出所有的系统服务
看一下是不是在所有等级都是打开状态,例如:chkconfig --level 35 mysqld on        #设定mysqld在等级3和5为开机运行服务





你可能感兴趣的:(SQL)