写点什么

【值得收藏】Centos7 安装 mysql 完整操作命令

作者:迷彩
  • 2022 年 6 月 27 日
  • 本文字数:2454 字

    阅读完需:约 8 分钟

前言

CentOS7 默认数据库是 mariadb, 但是 好多用的都是 mysql ,但是 CentOS7 的 yum 源中默认好像是没有 mysql 的。

如果第一次使用 Linux 的童鞋可以类比下 Windows 的安装,步骤都一样,下载-》解压缩-》安装(可指定路径),只不过 Linux 是用命令安装,不是鼠标操作,而且 Linux 是文件系统,一切皆文件,也就是说 Linux 没有和 Windows 一样有 CDE 等盘符的,Linux 都是以文件作为路径。最后说一句,要多动手操作

准备

准备:VMwarecentos7 虚拟主机 mysql 资源路径:http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

实操

1.卸载  

先停掉 mysql 进程   没有安装过的可以直接跳过

pkill -9 mysqld
复制代码


查找并列出所有被安装的 MySQL rpm package

rpm -qa|grep -i mysql
复制代码


使用命令 yum -y remove 卸载 MySQL 及相关的包

yum -y remove mysql-community-client-5.6.38-2.el7.x86_64卸载不掉的用 rpm -ev
复制代码

依次卸载 直到没有


2.下载 mysql 的 repo 源

/**纠正一下,这源下载的是最新的版本  ****/

可以指定安装目录     yum --installroot=/usr/local/mysql --releasever=/ -y install mysql-server  )我没试,这样装环境变量配置都不用你管,装上直接启动就行。安装路径是默认的。


wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

下载完后就是一个 mysql57-community-release-el7-7.noarch.rpm 的文件,可以用以下命令查看该文件都包含哪些包:

rpm -qpl mysql57-community-release-el7-7.noarch.rpm
复制代码

安装 rpm 包

rpm -ivh mysql57-community-release-el7-7.noarch.rpm
复制代码

安装完上述包后,查看 yum 库

yum list mysql*
复制代码

之后就可以用 yum 安装 MySQL 了:

yum install mysql-community-server
复制代码

MySQL 安装完成。查看已安装版本

mysql -V
复制代码
3.设置 mysql 密码

1、停止 mysql 服务

systemctl stop mysqld.service

2、mysql 配置文件修改为免密码登录。

vi /etc/my.cfg

修改

# Disabling symbolic-links is recommended to prevent assorted security risksskip-grant-tables  #添加这句话,这时候登入mysql就不需要密码symbolic-links=0
复制代码

3、启动 mysql 服务

systemctl start  mysqld.service
复制代码

修改密码

set password for root@localhost=password('123456'); or update user set authentication_string=PASSWORD("123456") where user="root";
复制代码

4、以 root 身份登录 mysql, 输入密码的时候直接回车

mysql -u root -p     #输入命令回车进入,出现输入密码提示直接回车。mysql> set password for root@localhost = password('123456');ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statementmysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql> set password for root@localhost = password('123456'); or update user set authentication_string=PASSWORD("123456") where user="root";Query OK, 0 rows affected, 1 warning (0.00 sec)mysql>flush privileges; #更新权限mysql>quit; #退出
复制代码

至此,数据库安装及简单的设置就完成了

MySQL8.0

:如果你安装的是 MySQL8.0 以上版本,安装完成后如果登录不上,必须修改初始密码才能正常登陆使用

基本设置如下:

登录的时候密码很容易输错,所以需要先获取一个随机密码:


grep 'temporary password' /var/log/mysqld.log //生成随机密码

mysql -uroot -p //使用随机密码登陆


1.修改用户名对应的密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; //修改密码

这里直接修改为 123456 会提示密码太弱[非要改为 123456,先要修改 mysql8 的密码规则]

注意:密码设置必须要大小写字母数字和特殊符号(,/’;:等),否则设置失败。

修改成功后退出:quit 或者 exit

如果安装完之后需要通过远程终端连接,要开启 MySQL 的远程访问权限:

create user root@'%' identified by '你的密码';grant all privileges on *.* to root@'%' with grant option;ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';flush privileges; #更新权限
复制代码
2.修改/etc/my.cnf 添加 skip-grant-tables 跳过验证登录
vim /etc/my.cnf 		//修改my.cnf文件//在[mysqld]后面任意一行添加"skip-grant-tables"用来跳过密码验证的过程,保存退出。mysql -uroot -p   //登录,不需要密码//登录成功:use mysql;  //切换到mysql库select host,user,authentication_string from user;  //可以查看root用户的host及密码(加密后)
复制代码
3.mysql8.0 去除了 password 字段,更改为 authentication_string
update user set authentication_string = '' where user = 'root';  //将密码置为空,my.cnf去掉skip-grant-tables依旧可以空密码登录。vim /etc/my.cnf //编辑my.cnf文件  去掉之前添加的"skip-grant-tables",依旧可以空密码登录
复制代码

你还可以通过修改 mysql 的密码策略为 LOW,然后再修改为简单密码或者空密码登陆

查看 mysql 的密码策略

show variables like 'validate_password%';
复制代码


参数详细讲解:

validate_password.check_user_name 用户名检测validate_password.dictionary_file 指定密码验证的文件路径;validate_password.length 固定密码的总长度;validate_password.mixed_case_count 整个密码中至少要包含大/小写字母的总个数;validate_password.number_count 整个密码中至少要包含阿拉伯数字的个数;validate_password.policy 指定密码的强度验证等级,默认为 MEDIUM;关于 validate_password_policy 的取值:0/LOW:只验证长度;1/MEDIUM:验证长度、数字、大小写、特殊字符;2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
validate_password.special_char_count 整个密码中至少要包含特殊字符的个数
复制代码


set global validate_password.policy=LOW;  //设置密码强度为LOW
策略修改完后,修改密码:alter user 'root'@'localhost' identified by 'root'; //修改密码为root,提示修改成功
复制代码

以上为 MySQL8.0 安装完成后的简单设置和注意事项,动手实践起来吧!

发布于: 刚刚阅读数: 4
用户头像

迷彩

关注

我的工作是常年写bug|公众号:编程架构之美 2020.06.18 加入

修bug的菜鸟~公众号:“互联网有啥事”已改名为“编程架构之美”

评论

发布
暂无评论
【值得收藏】Centos7 安装mysql完整操作命令_MySQL_迷彩_InfoQ写作社区