redhat mysql tar_mysql5.7版本tar包手动安装---redhat7.0

本文详细介绍了如何在Redhat 7.0系统上手动安装MySQL 5.7。首先,通过yum删除系统自带的mariadb,然后下载MySQL 5.7的tar包并移动到/usr/local/目录。接着,创建mysql用户和组,解压安装包并重命名为mysql。编辑配置文件my.cnf,初始化数据库,并设置开机启动脚本。最后,修改数据库密码,配置环境变量,开放防火墙3306端口,完成安装过程。
摘要由CSDN通过智能技术生成

1.官网下载安装包,删除系统自带的mariadb,查到几个包,卸载几个包,总之得删除干净

[root@localhost Desktop]# yum list |grep mariadb

mariadb-libs.x86_64 1:5.5.41-2.el7_0 @anaconda/7.1[root@localhost Desktop]# yum remove mariadb-libs.x86_64 -y ==>删除这个包

[root@localhost Desktop]# yum list |grep mariadb  ==>已经查询不到mariadb

[root@localhost Desktop]# ls

mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz    ==>这是安装包

2.创建用户和组以及将安装包移动到安装目录(/usr/local/ )下

[root@localhost Desktop]# groupadd mysql

[root@localhost Desktop]# useradd-g mysql mysql

[root@localhost Desktop]# mv mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz /usr/local/[root@localhost Desktop]# cd/usr/local/[root@localhost local]# ls

bin games lib libexec sbin src

etc include lib64 mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz share

3.解压安装包,并文件重命名为mysql,删除安装包(也可以不删除,有强迫症的都会删),确定安装路径是在 /usr/local 目录下

[root@localhost local]# tar -zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz

[root@localhost local]# ls

bin include libexec sbin

etc lib mysql-5.7.16-linux-glibc2.5-x86_64 share

games lib64 mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz src

[root@localhost local]# mv mysql-5.7.16-linux-glibc2.5-x86_64 mysql ==>改名为mysql

[root@localhost local]# ls

bin games lib libexec mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz share

etc include lib64 mysql sbin src

[root@localhost local]# rm mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz

rm: remove regular file ‘mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz’?y

[root@localhost local]# ls

bin etc games include lib lib64 libexec mysql sbin share src

4.编辑配置文件/ect/my.cnf,把/usr/local/mysql/support-files/my-defaults-cnf复制到/etc/目录下,并改名为my.cnf,也可以自己手动创建编辑

[root@localhost support-files]# cp -a my-default.cnf /etc/my.cnf

[root@localhost local]# vim /etc/my.cnf

[mysql]

# 设置mysql客户端默认字符集default-character-set=utf8

socket=/tmp/mysql.sock

[mysqld]#设置3306端口

port= 3306socket=/tmp/mysql.sock

# 设置mysql的安装目录

basedir=/usr/local/mysql

# 设置mysql数据库的数据的存放目录

datadir=/usr/local/mysql/data

# 允许最大连接数

max_connections=200# 服务端使用的字符集默认为utf-8编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎default-storage-engine=INNODBmax_allowed_packet=16M

5.初始化数据库

MySQL5.7.6之前版本都是用mysql_install_db这个命令

[root@localhost local]# ./mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

到了5.7版本后已经没有scripts这个目录,mysql_install_db也被移动到了bin目录下,5.7.6版本后这个命令已被弃用,若在5.7.6之后的版本用这个命令会报错

[root@localhost local]# ./mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

2018-12-10 13:42:04 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize ==>系统提示换成这个命令及参数2018-12-10 13:42:08 [ERROR] Child process: /usr/local/mysql/bin/mysqldterminated prematurely with errno= 32

2018-12-10 13:42:08 [ERROR] Failed to execute /usr/local/mysql/bin/mysqld --bootstrap --datadir=/usr/local/mysql/data --lc-messages-dir=/usr/local/mysql/share --lc-messages=en_US --basedir=/usr/local/mysql-- server log begin --

2018-12-10T05:42:04.757607Z 0 [Warning] --bootstrap is deprecated. Please consider using --initialize instead-- server log end --

5.7.6之后版本的初始化命令,在执行前要确保 数据库的 data 目录 是一个空目录,不让也会报错,处理方式是执行 rf 清空目录,报错信息如下

2018-12-10T11:08:53.586149Z 0 [ERROR] --initialize specifiedbut the data directory has files in it. Aborting.

开始初始化数据库

[root@localhost local]# ./mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ ==>5.7执行初始化命令

2018-12-10T11:37:30.625023Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation formore details).2018-12-10T11:37:30.625070Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode ina future release.2018-12-10T11:37:30.625074Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.2018-12-10T11:37:32.454989Z 0 [Warning] InnoDB: New log files created, LSN=45790

2018-12-10T11:37:32.659920Z 0[Warning] InnoDB: Creating foreign key constraint system tables.2018-12-10T11:37:32.749779Z 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: fb994d89-fc6f-11e8-ab5f-4e052dd49fa2.2018-12-10T11:37:32.765740Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed'cannot be opened.2018-12-10T11:37:32.766627Z 1 [Note] A temporary password is generated for root@localhost: dsqO!0eNa>V2 ==>注意这个是初始的root密码

6.设置开机自动启动脚本

复制启动脚本到/etc/rc.d/init.d/ 目录下并命名为mysqld,确认这个脚本具备X权限,若无执行 chmod 加权限

[root@localhost local]# cp mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

[root@localhost local]# ll/etc/rc.d/init.d/mysqld-rwxr-xr-x. 1 root root 10886 Dec 10 19:49 /etc/rc.d/init.d/mysqld

把mysqld服务加入到系统服务

[root@localhost local]# chkconfig --add mysqld

[root@localhost local]# chkconfig--list |grep mysqld

Note: This output shows SysV services only and does not include native

systemd services. SysV configuration data might be overridden by native

systemd configuration.

If you want to list systemd services use'systemctl list-unit-files'.

To see services enabled on particular target use'systemctl list-dependencies [target]'.

mysqld0:off 1:off 2:on 3:on 4:on 5:on 6:off ==>服务已生效

7.启动数据库服务

[root@localhost local]# service mysqld start

[root@localhost local]# service mysqld status

8.登入数据库修改密码,并设置允许远程登入

[root@localhost local]# /usr/local/mysql/bin/mysql -uroot -p'dsqO!0eNa>V2'mysql: [Warning] Using a password on the command lineinterfacecan be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection idis 5Server version:5.7.16Copyright (c)2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracleis 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>

修改密码

mysql> SET PASSWORD FOR 'root'@localhost=PASSWORD('redhat');

Query OK,0 rows affected, 1 warning (0.01 sec)

设置主机可以远程登入

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'redhat'WITH GRANT OPTION;

Query OK,0 rows affected, 1 warning (0.00sec)

mysql> flush privileges; ==>刷新权限表

9.配置环境变量

[root@localhost local]# vim /etc/profile

# MySQL Environment Variable Settings

export MYSQL_HOME=/usr/local/mysql

export PATH=$PATH:$MYSQL_HOME/bin

[root@localhost local]# source/etc/profile

10.配置防火墙

[root@localhost local]# firewall-cmd --permanent --add-port=3306/tcp

success

[root@localhost local]# firewall-cmd --reload

success

安装基本完成

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值