四.在centos上搭建mysql服务器

 1.mysql安装,检查mysql是否存在mysql或mariadb,输入命令:

mysql -V
rpm -qa | grep mysql
w

有则用rpm -e --nodeps 文件名 删除对应的包,避免冲突

在目录usr/local 下创建mysql文件:mkdir /usr/local/mysql

cd usr/local/mysql 下安装包wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

yum -y install mysql-community-release-el7-5.noarch.rpm

2.安装mysql 服务器

yum  install mysql-server
 如果提示:失败的软件包是:mysql-community-client-5.7.40-1.el7.x86_64
 GPG  密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

使用命令:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 再安装mysql服务器

yum -y install mysql-community-server

启动mysql服务,查看mysql启动状态

systemctl start mysqld.service
systemctl status mysqld.service

3. 查看初始密码并登录数据

grep "password" /var/log/mysqld.log     

mysql -uroot -p

成功进入后,需要执行如下语句修改密码:
set password='your password';

如果密码符合Mysql要求,会修改成功。如果出现以下错误信息:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

密码的长度是由validate_password_length决定的,但是可以通过以下命令修改
set global validate_password_length=4;

validate_password_policy决定密码的验证策略,默认等级为MEDIUM(中等),可通过以下命令修改为LOW(低)
set global validate_password_policy=0;

成功后再执行改命令:

set password='your password';

输入密码后若报错:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
vi /etc/my.cnf 编辑该文件

输入以下命令:skip-grant-tables,然后保存退出即可

 重启mysql :systemctl restart mysqld

登录mysql 输入用户名密码:mysql -uroot -p

进入mysql后:use mysql;
update user set authentication_string = '' where user = 'root';修改root用户的密码

authentication_string = ’ ’ 把 root 密码设置为空

 再次打开 my.cnf 配置文件,将刚才添加的内容删除:

vim /etc/my.cnf

skip-grant-tables

 重启 MySQL 服务,进入 MySQL root 账户下即修改密码

systemctl restart mysqld

mysql -uroot -p

修改密码为root:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
查看mysql密码初始策略:

SHOW VARIABLES LIKE 'validate_password%';

别执行如下命令修改策略,修改后查看是否成功 

 set global validate_password.check_user_name=OFF
set global validate_password.length=4;
set global validate_password.mixed_case_count=0;
set global validate_password.number_count=0;
set global validate_password.policy=LOW;
set global validate_password.special_char_count=0;

MySQL 密码策略相关参数

validate_password.dictionary_file 指定密码验证的文件路径

validate_password.length 固定密码的总长度

validate_password.mixed_case_count 整个密码中至少要包含大/小写字母的总个数

validate_password.number_count 整个密码中至少要包含阿拉伯数字的个数

validate_password.policy 指定密码的强度验证等级,默认为 MEDIUM

LOW:只验证长度
MEDIUM:验证长度、数字、大小写、特殊字符
STRONG:验证长度、数字、大小写、特殊字符、字典文件
validate_password_special_char_count 整个密码中至少要包含特殊字符的个数


4.远程链接mysql

当前服务器只能访问其本地数据库,远程是连接不上的,因此要进行授权

*.* 可以使用所有数据库的所有数据表

'root'@'%' 任意 IP 可以使用 root 用户

IDENTIFIED BY 'xxx' 这里的 xxx 表示 root 用户登录 MySQL 的密码

flush privileges; 刷新,立即生效
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Root_123' WITH GRANT OPTION;
flush privileges;

CentOS 单机需要操作防火墙开放 3306 端口

# 开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 关闭3306端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
# 配置立即生效
firewall-cmd --reload
# 查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports

 附上以后可能会用的配置信息:

[mysqld]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
# 设置mysql的安装目录
basedir=D:\Java\mysql-8.0.12-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\Java\mysql-8.0.12-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

卸载mysql:

systemctl stop mysqld.service

rpm -qa | grep mysql

rpm -e --nodeps mysql-community-client-plugins-8.0.27-1.el8.x86_64
rpm -e --nodeps mysql80-community-release-el8-2.noarch
rpm -e --nodeps mysql-community-client-8.0.27-1.el8.x86_64
rpm -e --nodeps mysql-community-common-8.0.27-1.el8.x86_64
rpm -e --nodeps mysql-community-server-8.0.27-1.el8.x86_64
rpm -e --nodeps mysql-community-libs-8.0.27-1.el8.x86_64

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值