centos7 安装 mysql-5.7.17-linux-glibc2.5-x86_64

CentOS7默认安装MariaDB,以防冲突先卸载mariadb
1、卸载mariadb
yum list installed | grep mariadb #检查是否安装mariadb
yum -y remove mariadb* #若安装则全部卸载

2.提前解决mysql安装依赖
yum -y install libaio

官方mysql5.7安装:
1.下载mysql
https://dev.mysql.com/downloads/mysql/
select operating system:linux-generic
可以参考官方安装文档
https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

官方命令序列如下所示
shell> groupadd mysql #创建一个用户
shell> useradd -r -g mysql -s /bin/false mysql  #创建一个系统账户mysql,指定用户组为mysql
shell> cd /usr/local #进入/usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz #解压相关文件
shell> ln -s full-path-to-mysql-VERSION-OS mysql #创建一个软链接
shell> cd mysql # 进入mysql
shell> mkdir mysql-files 创建mysql-files文件
shell> chown mysql:mysql mysql-files #给mysql-files划分组和用户
shell> chmod 750 mysql-files #提权
shell> bin/mysqld --initialize --user=mysql #安装
shell> bin/mysql_ssl_rsa_setup   #安全选项           
shell> bin/mysqld_safe --user=mysql #安全选项
shell> cp support-files/mysql.server /etc/init.d/mysql.server #创建开机启动

目录	目录内容
bin	mysqld服务器,客户端和实用程序
docs	MySQL手册
man	Unix格式手册页
include	 包含(头)文件
lib	库文件
share	错误消息,字典和用于数据库安装的SQL
support-files	杂项支持文件

3.mysql5.7.tar.gz安装:
下载并解压文件——创建mysql用户和组——创建配置文件及相关目录并提升权限——初始化数据库——设置服务开机启动——数据库登录与修改密码——数据库连接基本配置

参考:https://www.cnblogs.com/yshyee/p/10710882.html
上传或者下载文件:
使用xftp上传mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz至/usr/local/目录下,或者使用wget [url]…直接下载到对应的安装目录

进入目录解压文件:
[root@localhost ]#cd /usr/local/
[root@localhost mysql]# tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
-z 通过gzip指令压缩/解压缩文件、-x 从归档文件中提取文件、-v 显示操作过程、-f<备份文件> 指定备份文件

更改解压文件夹名称为mysql:
[root@localhost local]# mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql

创建一个mysql用户和组:
[root@localhost local]# groupadd mysql
[root@localhost local]# useradd -r -g mysql mysql
-r 建立系统帐号、-g 指定用户对应的用户组

改变文件或目录用户和用户组:
[root@localhost mysql]# chown -R mysql:mysql ./
-R 对目前目录下的所有文件与子目录进行相同的拥有者变更

同配置文件相关
创建一个数据库data文件:(–datadir=/usr/local/mysql/data/)
[root@localhost mysql]# mkdir data

建立socket文件夹提权并划分文件用户和组:(socket=/var/lib/mysql/mysql.sock)
[root@localhost mysql]# mkdir -p /var/lib/mysql
-p表示递归创建
[root@localhost mysql]# chmod 766 /var/lib/mysql -R
-R对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
[root@localhost mysql]# chown mysql:mysql /var/lib/mysql/ -R
-R对目前目录下的所有文件与子目录进行相同的拥有者变更

创建my.cnf文件,并写入相应数据库配置
[root@localhost mysql]# vi /etc/my.cnf
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock

[mysqld]
#skip-name-resolve
#设置3306端口
port=3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#lower_case_table_name=1
max_allowed_packet=32M

超详细配置可参考https://www.cnblogs.com/gyming/p/4794636.html

初始化数据库:
[root@localhost mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

设置开机启动:
[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld
+x赋予执行权限

设置mysql系统环境变量后并使其生效:
[root@localhost mysql]# vi /etc/profile

#mysql
export PATH=$PATH:/usr/local/mysql/bin

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

添加服务项并查看:
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig --list mysqld

启动服务:
[root@localhost mysql]# systemctl start mysqld

编辑my.cnf文件,增加跳过密码验证项:
[root@localhost mysql]# vi /etc/my.cnf

skip-grant-tables=1

重启服务
[root@localhost mysql]# systemctl restart mysqld

登录mysql,修改系统密码
[root@localhost mysql]# mysql -u root

mysql> use mysql;
mysql> update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root';
mysql> flush privileges;
mysql>quit;
在之前的版本,密码字段的字段名是 password,5.7版本改为 authentication_string

退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1 的内容
重启 mysqld 服务,再用新密码登录即可

添加过防火墙滤端口并重新载入:
[root@localhost mysql]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@localhost mysql]# firewall --reload

配置远程主机登录并使用mysql客户端登录即可:
[root@localhost mysql]# mysql -u root -p

mysql> use mysql;

mysql> select user,host from user;

mysql> update user set host='%' where user='root';

mysql> flush privileges;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值