阿里云centos环境之mysql5.7(十七)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/achenyuan/article/details/86690872

阿里云centos环境之mysql5.7(十七)

前言

以前写过安装mysql5.6,我一直以为是mysql5.7,直到安装zabbix时,才发现是5.6版本,这两个版本的二进制安装方式还是有区别的。
目的:一来,记录mysq5.7的安装方式,二来,在安装zabbix4.0版本时时需要依赖mysql5.7.

步骤

卸载mariadb

如果有mariadb,则卸载它: yum -y remove mariadb*,删除数据库文件: rm -rf /var/lib/mysql/*

卸载mysql

检查是否安装NySQL,如果有mysql则卸载它。

rpm -qa |grep mysql
yum remove mysql*

yum包安装

CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件

rpm -ivh  https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

安装mysql5.7

yum install -y mysql-server
#启动
systemctl start mysqld
#开机启动
systemctl enable mysqld

配置

包括重置root密码,开放外网访问能力

  1. 获取安装时的临时密码:grep “temporary password” /var/log/mysqld.log
  2. 登陆:mysql -u root -p,输入上面的临时密码
  3. 登录成功后修改密码:set password=password(“yourpassword”); #5.7加强了安全设置,登陆成功后必需重置密码不然不能操作,密码要求:大小写字线,数字,和特殊字符。比如:Root123!@#
  4. 降低密码验证强度等级:set global validate_password_policy=LOW;

查询:select @@validate_password_policy;

  1. 设置密码长度为至少4个长度(默认8位):set global validate_password_length=4;

查询:select @@validate_password_length;

  1. 开启远程控制:update mysql.user set host=’%’ where user=‘root’;
  2. 更新root用户密码为root:set password=password(“root”);
  3. 更新:flush privileges;
  4. 配置默认编码为utf8:
    vi /etc/my.cnf:
#添加
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
  1. 退出mysql命令行:exit;
  2. 重启mysql: systemctl restart mysqld

其他默认配置文件路径

数据文件:/var/lib/mysql
配置文件:/etc/my.cnf 
日志文件:/var/log//var/log/mysqld.log 
服务启动脚本:/usr/lib/systemd/system/mysqld.service 
socket文件:/var/run/mysqld/mysqld.pid

二进制安装方式

卸载上面的mysql

systemctl stop mysqld
yum remove mysql*
yum remove mariadb*

下载并安装启动

添加用户组和用户

#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql  -s /sbin/nologin mysql
#给mysql设置密码mysql
passwd mysql

进入/usr/local目录

cd /usr/local
#下载
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
# 解压
tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
#删除安装包
rm -rf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
# 重命名
mv mysql-5.7.23-linux-glibc2.12-x86_64 mysql
#修改mysql目录权限
chown -R mysql:mysql /usr/local/mysql

初始化数据库


# 进入mysql
cd mysql/
# 创建目录data
mkdir data
# 初始化数据库
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

编辑vi /etc/my.cnf

[client]
port = 3306
socket = /var/lib/mysql/mysql.sock

[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
pid_file = /var/run/mysqld/mysqld.pid
datadir = /usr/local/mysql/data
character_set_server=utf8
init_connect='SET NAMES utf8'
log-error = /var/log/mysqld.log

添加mysql为系统服务

cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld

#修改启动脚本
vi /etc/init.d/mysqld

#修改项:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/

#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
export PATH=$PATH:/usr/local/mysql/bin

#使文件生效
source /etc/profile
 
# 启动mysql
service mysqld start

#关闭mysql
service mysqld stop

#查看运行状态
service mysqld status

# sql基本语句
SHOW DATABASES;  //查看当前所有数据库
CREATE DATABASE 数据库名;  //创建数据库
USE  数据库名; //选择数据库
SOURCE SQL文件路径; //导入数据
GRANT ALL PRIVILEGES ON 数据库名.* TO 用户名@"%" IDENTIFIED BY '密码' WITH GRANT OPTION; //创建一个远程用户使他有某个数据库的所有权限

默认为root用户设置了密码,查看输出
A temporary password is generated for root@localhost: !eu_RLWVk8kB

修改root密码和开启远程访问如上

总结

相对来说,二进制方式安装比较麻烦,推荐包安装方式。

猜你喜欢

转载自blog.csdn.net/achenyuan/article/details/86690872
今日推荐