centos7安装mysql教程

Yum 是一个基于 rpm 的软件包管理器, 它可以从指定的服务器自动下载 RPM 包并且安装, 可以自动处理依赖性关系, 并且一次安装所有依赖的软体包, 无须繁琐地一次次下载、安装.

下载命令:

wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

用 yum 命令安装下载好的 rpm 包.

yum -y install mysql80-community-release-el7-2.noarch.rpm

安装 MySQL 服务器.

yum -y install mysql-community-server

这一步由于要下载安装文件, 可能会花一些时间. 安装完成后就会覆盖掉之前的 mariadb.

1.3.2 MySQL 数据库设置

启动 MySQL

systemctl start  mysqld.service

查看 MySQL 运行状态, Active 后面的状态代表启功服务后为 active (running), 停止后为 inactive (dead), 运行状态如图:

systemctl status mysqld.service

重新启动 Mysql 和停止 Mysql 的命令如下:

service mysqld restart  #重新启动 Mysql
systemctl stop mysqld.service   #停止 Mysql

此时 MySQL 已经开始正常运行, 不过要想进入 MySQL 还得先找出此时 root 用户的密码, 通过如下命令可以在日志文件中找出密码:
为了加强安全性, MySQL8.0 为 root 用户随机生成了一个密码, 在 error log 中, 关于 error log 的位置, 如果安装的是 RPM 包, 则默认是/var/log/mysqld.log. 只有启动过一次 mysql 才可以查看临时密码

使用命令:

grep 'temporary password' /var/log/mysqld.log

查看初始的随机密码:

登录 root 用户

mysql -u root -p

然后输入上述查到的初始密码. 登录后还不能做任何查询或建库操作, 因为 MySQL 默认必须修改初始的随机密码之后才能操作数据库,否则会报错:

修改密码为"123456", 注意结尾要有分号, 表示语句的结束.

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

这里有个问题, 新密码设置的时候如果设置的过于简单会报错:

原因是因为 MySQL 有密码设置的规范, 具体是与 validate_password_policy 的值有关:

MySQL 完整的初始密码规则可以通过如下命令查看:

密码的长度是由 validate_password_length 决定的, 而 validate_password_length 的计算公式是:

validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

如果想要设置简单的密码必须要修改约束, 修改两个全局参数:

  • validate_password_policy代表密码策略, 默认是 1:符合长度, 且必须含有数字, 小写或大写字母, 特殊字符. 设置为 0 判断密码的标准就基于密码的长度了. 一定要先修改两个参数再修改密码
mysql> set global validate_password.policy=0;
  • validate_password_length代表密码长度, 最小值为 4
mysql> set global validate_password.length=4; 

此时密码就可以设置的很简单, 例如 1234 之类的. 到此数据库的密码设置就完成了.

但此时还有一个问题, 就是因为安装了 Yum Repository, 以后每次 yum 操作都会自动更新, 如不需要更新, 可以把这个 yum 卸载掉:

[root@localhost ~]# yum -y remove mysql80-community-release-el7-2.noarch

在 CentOS 中 MySQL 的主要配置所在的目录:

1 /etc/my.cnf 这是 mysql 的主配置文件
2 /var/lib/mysql mysql 数据库的数据库文件存放位置
3 /var/log mysql 数据库的日志输出存放位置

一些可能会用到的设置:

设置表名为大小写不敏感:

1.用root帐号登录后, 使用命令

systemctl stop mysqld.service

停止MySQL数据库服务,修改vi /etc/my.cnf,在[mysqld]下面添加

 lower_case_table_names=1

这里的参数 0 表示区分大小写,1 表示不区分大小写.
2.做好数据备份,然后使用下述命令删除数据库数据(删除后, 数据库将恢复到刚安装的状态)

rm -rf /var/lib/mysql

3.重启数据库 ,此时数据库恢复到初始状态.

service mysql start

4.重复安装时的操作, 查找临时密码

grep 'temporary password' /var/log/mysqld.log

5.修改密码. 密码8位以上, 大小写符号数据. 如想要使用简单密码, 需按照上述安装流程中的步骤进行操作.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '****';update user set host = "%" where user='root';

6.刷新MySQL的系统权限相关表

FLUSH PRIVILEGES;

此时, MySQL的表名的大小写不再敏感.

1.3.3 设置远程连接:

如果你想要在另外一台电脑上连接 centos 上安装的 MySQL, 那么还需要一些其他的设置.

首先需要将 MySQL 设置为可以远程连接,设置 mysql 库的 user 表中帐号的 host 为%, %表示可以从任意 ip 连接 mysql, 为了安全性, 也可以设置为你自己所用于连接 centos 上 MySQL 的电脑所使用的 IP.

其次, MYSQL 8.0 内新增加 mysql_native_password 函数,通过更改这个函数密码来进行远程连接.

例如,更改 root 用户的 native_password 密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY'MyPass@123';

接下来为 centos 的防火墙开启 MySQL 所使用的 3306 端口,并重新加载防火墙:

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

完成上述设置后, 重新启动 MySQL 服务:

service mysqld restart  #重新启动 Mysql
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值