centos7 安装 mysql5.7 LTS

centos7 安装 mysql5.7 LTS

参考:
https://blog.csdn.net/ctypyb2002/article/details/88198324/
https://blog.csdn.net/EB_NUM/article/details/105425622

可以在运行安装程序之前导入密钥:

sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

第一步、下载MySQL 安装包:

sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

第二步 安装mysql 安装源:

sudo yum -y localinstall mysql57-community-release-el7-11.noarch.rpm

第三步,在线安装MySQL

sudo yum -y install mysql-community-server

第四步、启动mysql 服务

sudo systemctl start mysqld

第五步,设置开机启动

sudo systemctl enable mysqld
sudo systemctl daemon-reload

查看mysql 版本

mysql --version

首先登录 密码问题

修改密码

修改密码(可以根据自己兴趣爱好来设置)

执行下面的命令:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘你的密码’;

默认的配置文件
my.cnf

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

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

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

数据库 initialize (先不用这个,先把它给忽略了)

之前初始化mysql数据库命令 mysql_install_db 从MySQL 5.7.6 开始废弃,使用 mysqld 初始化数据库

# which mysqld

# mysqld --verbose --help

  -I, --initialize    Create the default database and exit. Create a super user
                      with a random expired password and store it into the log.
  --initialize-insecure 
                      Create the default database and exit. Create a super user
                      with empty password.
                      

–initialize 会在日志里打印出一个随机密码。
–initialize-insecure 不会产生随机密码,第一次登陆数据库使用空密码。
111

mysqld --initialize-insecure

在刚才的黑框中敲入mysqld --initialize-insecure,回车,稍微等待一会,
如果出现没有出现报错信息(如下图)则证明data目录初始化没有问题,
此时再查看MySQL目录下已经有data目录生成。

mysql -u root -p
1234aA~1

mysql -u用户名 -p密码 -h要连接的mysql服务器的ip地址(默认127.0.0.1) -P端口号(默认3306)

在mysql5.7以上,mysql默认会产生随机密码,如果想达到5.6以下的第一次免登录密码,需要在 mysqld 加–initialize-insecure参数

修改密码

5.7之前的版本默认是没有密码的,只需在服务器上直接登录,甚至用户名都不用指定,
但除本机外网络是登不上的,5.7版本的话安装完后会生成 一个随机密码,
密码记录在log日志里,日志文件在/var/log/下,

由于MySQL从5.7开始不允许首次安装后,使用空密码进行登录,
系统会随机生成一个密码以供管理员首次登录使用,
所以本文教大家如何使用初始密码登录并修改初始密码
yum安装的mysql服务,密码记录在/var/log/mysqld.log文件中,使用下面的命令可以查看此密码:(其他安装方式请自己找到对应的mysqld.log位置)

cat /var/log/mysqld.log|grep 'A temporary password'

sudo grep ‘temporary password’ /var/log/mysqld.log
mysql -uroot -p

alter user 'root'@'localhost' identified by 'rootroot';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

-- 应用配置--将内存中的配置写入磁盘
flush privileges;

设置成下面这个样子

alter user 'root'@'localhost' identified by '1234aA~1';

这个其实与validate_password_policy的值有关。

validate_password_policy有以下取值:

默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。
注意:这个密码是强类型密码,要求密码包含大小写字母、数字及标点符号,长度应该在6位以上,不然就会失败。

修改密码策略

有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。
必须修改两个全局参数:
首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;

Query OK,0 rows affected (0.00 sec)

validate_password_length(密码长度)参数默认为8,我们修改为1

mysql> set global validate_password_length=1;

Query OK,0 rows affected (0.00 sec)

完成之后再次执行修改密码语句即可成功:

mysql> alter user 'root'@'localhost' identified by '123456';

Query OK,0 rows affected (0.00 sec)

授权远程访问:

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

常用命令

查询所有的数据库
SHOW DATABASES;
创建数据库:
CREATE DATABASE 数据库名称;

创建数据库(判断,如果不存在则创建)
CREATE DATABASE IF NOT EXISTS 数据库名称;
删除数据库
DROP DATABASE 数据库名称;

删除数据库(判断,如果存在则删除)
DROP DATABASE IF EXISTS 数据库名称;

使用数据库
USE 数据库名称;

查看当前使用的数据库
SELECT DATABASE();

查询当前数据库下所有表名称
SHOW TABLES;
查询表结构
DESC 表名称;

删除表
DROP TABLE 表名;

删除表时判断表是否存在
DROP TABLE IF EXISTS 表名;

修改表名字
ALTER TABLE 表名 RENAME TO 新的表名;

– 将表名student修改为stu
alter table student rename to stu;

修改配置文件 /etc/my.cnf

如果修改了datadir,socket 可能也得修改
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

1 重启系统之后登录

查看服务是否正常运行
service mysqld status

mysql -u root -p
1234aA~1

2

启用防火墙systemctl start firewalld
查看防火墙状态systemctl status firewalld
停止防火墙systemctl stop firewalld
启用防火墙systemctl start firewalld
查看防火墙状态systemctl status firewalld
停止防火墙systemctl stop firewalld
禁用防火墙systemctl disable firewalld
启用防火墙systemctl enable firewalld

3

允许远程连接

mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234aA~1' WITH GRANT OPTION;
FLUSH  PRIVILEGES;

在这里插入图片描述

用命令是什么?
1234aA~1
远程连接
mysql -h 192.168.99.69 -P 3306 -u root -p

查看 mysql 时区

show variables like '%time_zone%';

在这里插入图片描述

11

1
mysqld --initialize --console

执行这一步,是因为在MySQL5.7中没有data文件夹,需要用这几个命令产生data文件夹,并且初始化随机登陆密码

执行完会出现一大片英文,看不懂没关系,在最后面看到有一个 [email protected]: 后面有一连串的字母数字符号, 这是 MySQL 为你自动生成的随机密码. 要记下来, root就是登陆的用户名,一会我们登陆 MySQL 数据库的时候要用(或者直接按下enter进入)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值