CenterOS7下 Mysql 5.7 tar.gz安装

2022-12-27  本文已影响0人  数据老菜鸟

安装新版mysql前,需将系统自带的mariadb-lib卸载

[root@hadoop01 ~]# rpm -qa|grep mariadb

mariadb-libs-5.5.56-2.el7.x86_64

[root@hadoop01 ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

[root@hadoop01 ~]# rpm -qa|grep mariadb

开始安装

解压安装包

      tar -zxvf mysql-5.7.24-el7-x86_64.tar.gz

将该文件夹拷贝到/usr/local/下 并重命名为 mysql

mv  mysql-5.7.24-el7-x86_64  /usr/local/mysql

在mysql57 下创建文件夹data(我们将该文件夹设置为端口3306实例的目录,为防备多实例的情况)

     mkdir /usr/local/mysql/data

      mkdir /usr/local/mysql/log

创建my.cnf 内容如下

[client]

socket=/data/mysql/mysql.sock

port=7395

[mysqld]

basedir=/data/mysql/

datadir=/data/mysql/data

socket=/data/mysql/mysql.sock

default-storage-engine=INNODB

character_set_server=utf8

port=7395

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

log-error=/data/mysql/log/mysqlderror.log

pid-file=/data/mysql/data/mysql.pid

log_bin=mysql-bin

server_id=1

#STATEMENT,ROW,MIXED

binlog_format=ROW

## 最大连接数,MySQL服务器允许的最大连接数16384,连接数越多消耗内存越多

max_connections = 1000

## Enable Per Table Data for InnoDB to shrink ibdata1(innoDB表优化)

innodb_file_per_table = 1

## 日志过期时间,包括二进制日志(过期自动删除)

expire_logs_days = 15

#默认128M,用于存储页面缓存数据外,另外正常情况下还有大约8%的开销,主要用在每个缓存页帧的描述、adaptive hash等数据结构,适当的增加这个参数的大小,可以有效的减少 InnoDB 类型的表的磁盘 I/O

innodb_buffer_pool_size = 2048M

innodb_log_file_size = 512M

#默认是8MB,InnoDB在写事务日志的时候,为了提高性能,也是先将信息写入Innofb Log Buffer中,当满足innodb_flush_log_trx_commit参数所设置的相应条件(或者日志缓冲区写满)之后,才会将日志写到文件 (或者同步到磁盘)中

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 2

#表大小写不敏感

lower_case_table_names=1

#网络读写超时时间

net_read_timeout=28800

net_write_timeout=28800

skip-grant-tables

将my.cnf 放到/etc/下

mv my.cnf /etc/

创建一个mysql 用户

useradd -r -s /sbin/nologin mysql

给目录授权限

chown -R mysql:mysql /usr/local/mysql/

初始化数据库

cd /usr/local/mysql/bin

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

  如果默认配置文件不是/etc/my.cnf 则需要指定默认文件 比如配置文件是my3307.cnf 则初始化如下

./mysqld --defaults-file=/etc/my3309.cnf --initialize  --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

启动mysql

./mysqld_safe --user=mysql&

如果有多实例 并且配置文件不是默认的/etc/my.cnf 则启动需要指定配置文件如下

./mysqld_safe --defaults-file=/etc/my3309.cnf --user=mysql&

检查是否启动

ps -ef|grep mysql

发现有mysql进程 即成功

设置登录密码

(1)修改/etc/my.cnf 添加skip-grant-tables

sr/local/mysql/bin

source  /etc/profile

(2)重启服务(先关闭后开启)

./mysqladmin shutdown

ps -ef |grep mysql

如果没有了进程则说明停止服务成功

重新开启

./mysqld_safe --user=mysql&

(3)登录并修改密码

mysql -u root

update mysql.user set authentication_string=password('123456') where user='root';

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

(4)把my.conf 中 skip-grant-tables 屏蔽

mysql5.7 需要再次登录上去:

使用alter user user() 再次设置下密码才可以, 到此 完成改密码操作

 alter user  user() identified by '123456';

设置远程登录密码

[root@hadoop01 mysql-5.7]# mysql -u root -p

新创建用户:goodhope

创建用户:

create user 'goodhope@localhost' identified by '123456';

create user 'goodhope@%' identified by '123456';

删除用户:

  drop user 'goodhope@%'

或者可以直接创建授权远程用户(同上面创建用户 一样的效果):

格式

 格式:grant privileges on databasename.tablename to 'username'@'host' IDENTIFIED BY 'PASSWORD';

 grant all privileges on *.* to 'goodhope'@'%'  identified by '123456' with grant option;

# 刷新表

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

# 退出MySQL

mysql> quit;

Bye

关闭MySQL

设置开机自启动

1、添加服务mysql

cp support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod a+x /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

 注意如果mysql并不是安装在默认/usr/local/mysql下面,或则congfig文件也不是默认的/etc/my.cnf  则需要进行指定 mysql的basedir=  datadir=


2、设置mysql服务为自启动

systemctl enable mysql

或者

systemctl enable mysqld

注册服务后 启动 重启 关闭 查看状态指令分别是

systemctl  start/restart/stop/status   mysqld

特殊情况

注意:在centos7 下,如果mysql的有多个实例,并且/etc/my.cnf被别的实例给占用了,那么新增的实例是无法使用support-files/mysql.server注册成为服务的,如果要想开机启动要使用脚本模式方法如下

1.在bin目录下创建两个文件

vi mysql_start.sh

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3309.cnf --user=mysql&

vi mysql_stop.sh

/usr/local/mysql/bin/mysqladmin --socket=/usr/local/mysql/mysql.sock --port=3309  -u root -pGoodHope@US  shutdown

chown mysql:mysql mysql_start.sh

chown mysql:mysql mysql_stop.sh

chmod 755 mysql_start.sh

chmod 755 mysql_stop.sh

2.编辑 /etc/rc.d/rc.local

/usr/local/mysql/bin/mysql_start.sh

chmod +x rc.local

重启进行查看判断

上一篇 下一篇

猜你喜欢

热点阅读