天翼云(centOS7.8)安装Mysql8.0.34(yum install)

剑客营 > 电脑知识 > 天翼云(centOS7.8)安装Mysql8.0.34(yum install)
标签  数据库
2023年10月12日 09:49 by 萝卜特

本篇文章全部来源“CentOS / Linux 安装MySQL(超简单详细)”(https://zhuanlan.zhihu.com/p/623778183)

安装 首先,尝试一下直接使用 yum 安装 MySQL

yum install mysql-community-server 如果成功,表示不需要配置MySQL rpm 源信息,直接就安装完成了

但是,如果出现以下错误:

Loading mirror speeds from cached hostfile 没有可用软件包 mysql-community-server。 错误:无须任何处理 表示我们没有添加安装包的源信息,需要安装 MySQL rpm 源信息

安装 MySQL rpm 源信息 打开 http://dev.mysql.com/downloads/repo/yum/

根据你的系统版本,选择对应的安装包,例如我的是CentOS 7.5,这个系统的Linux内核是 Linux 7,所以我选择了红框内的地址,大家依次类推。

拼接下载地址头:http://dev.mysql.com/get/,得到以下地址

http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm 使用 wget + 刚才拼接的地址,下载安装包源信息

wget http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm rpm 安装源信息

rpm -ivh mysql80-community-release-el7-7.noarch.rpm

安装 再尝试使用 yum 安装MySQL

yum install mysql-community-server 安装过程中,会提示让我们确认,一律输入 y 按回车即可

安装完成后,yum会自动覆盖自带的mariaDB,所以不需要我们手动卸载它

检查安装是否成功 检查一下刚才的安装是否成功

rpm -qa | grep mysql 输出:

mysql-community-libs-compat-8.0.33-1.el7.x86_64 mysql-community-icu-data-files-8.0.33-1.el7.x86_64 mysql80-community-release-el7-7.noarch mysql-community-common-8.0.33-1.el7.x86_64 mysql-community-libs-8.0.33-1.el7.x86_64 mysql-community-server-8.0.33-1.el7.x86_64 mysql-community-client-8.0.33-1.el7.x86_64 mysql-community-client-plugins-8.0.33-1.el7.x86_64 输出类似以上内容,表示安装完成

检查mariaDB是否被覆盖

rpm -qa | grep mariadb 输出空,表示 mariaDB 已经被成功覆盖。

MySQL 常用命令

启动

systemctl start mysqld

第一次启动后,可以查看mysql初始化密码

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

重启

systemctl restart mysqld

停止

systemctl stop mysqld

查看状态

systemctl status mysqld

开机启动

systemctl enable mysqld systemctl daemon-reload

查看进程、版本信息

ps -ef | grep mysql 或 netstat -atp

登录

mysql -u root -p'密码内容'

查看所有表

show databases;

进入数据库

use 表名

查看所有表

show tables

查看某张表信息

desc 表名

select * from 表名

delete from 表名 where field=xx

update 表名 set field='xxx' where field='xxx';

登录和修改密码 我们安装的时候,并没有设置初始密码

所以 mysql 在第一次启动的时候,会自动初始化一个密码

通过以下这行代码,我们可以查看 mysql 自动初始化的密码:

第一次启动后,可以查看mysql初始化密码

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

输出(root@localhost: 后面的是密码): 2023-04-21T06:03:27.071550Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: r2to%yZ%a)%s

登录

登录mysql,一定要注意:-p和'密码'之间是没有空格的

mysql -u root -p'r2to%yZ%a)%s'

修改 root 密码

注意了,默认的密码策略,需要:大写英文 + 特殊字符 + 数字

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

有些同学可能会觉得,老子密码想设置啥就设置啥,轮得到你这 mysql 在这里瞎BB?

那也是可以修改密码校验策略的

首先,安装密码验证插件

但是有个前提,你还是需要先按它的要求修改第一次密码,才能安装密码验证策略插件,哈哈 1、先按照mysql的要求,修改一次密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_123';

2、退出mysql exit

3、重新登录mysql mysql -u root -p'Root_123'

4、安装密码验证插件 install plugin validate_password soname 'validate_password.so';

5、查看是否启用了插件 select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%'; +-------------------+---------------+ | plugin_name | plugin_status | +-------------------+---------------+ | validate_password | ACTIVE | +-------------------+---------------+ 输出这样的内容,表示成功启用

查看验证策略的键、值信息

SHOW VARIABLES LIKE 'validate_password%';

对于高版本的mysql,例如mysql 8,验证策略的key,是 validate_password.xxx +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password.check_user_name | ON | | validate_password.dictionary_file | | | validate_password.length | 8 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | MEDIUM| | validate_password.special_char_count | 1 | +--------------------------------------+-------+

对于低版本的mysql,例如mysql 5.7,验证策略的key,是 validate_password_xxx +--------------------------------------+-------+ | Variable_name | Value | +--------------------------------------+-------+ | validate_password.check_user_name | ON | | validate_password.dictionary_file | | | validate_password.length | 8 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | MEDIUM| | validate_password.special_char_count | 1 | +--------------------------------------+-------+

我们修改密码策略和密码长度

我的策略信息的 key ,是 validate_password.xxx这个格式的,所以按照如下进行设置

设置密码校验策略为:0(只验证密码长度) set global validate.password_policy=0;

设置密码最低长度=N,例如设置密码最低长度=6,也就是密码最少要设置6个字符及以上 set global validate.password_length=6;

好了,现在密码就可以按照你刚才配置的策略,来进行设置密码了

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

开放 root 账户远程登录

登录

mysql -u root -p'密码'

如果你的数据库是 mysql 8 及以上

1、进入数据库

use mysql

2、修改user表

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

mysql 5.7 及之前,执行这行代码即可

GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;

重载授权表

FLUSH PRIVILEGES;

退出

exit

重启

systemctl restart mysqld

端口开放 经过实测,使用阿里云或者腾讯云,在服务器上,无需配置 iptables 端口信息

但必须在阿里云或者腾讯云控制台 - 服务器 - 安全组,开放 3306端口。

已经是最新一篇
发表评论
您还没有登录,请登录后发表评论。
0 评论