时间:2021-08-20 10:04:53 | 栏目:Mysql | 点击:次
介绍如何在Linux下安装MySQL 5.7.18
1、下载MySQL:官网https://www.mysql.com/,点击Downlosas,翻到网页底部,下载社区版,一路点下去,选择通用Linux,下载64位那个,注意检查MD5
值。
2、安装关键步骤,直接贴出命令
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片 [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行修改,如下
把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为开机运行服务