1. 检查系统中是否已安装 MySQL。

返回空值的话,就说明没有安装 MySQL 。
如果有,用rpm -e --nodeps卸载
注意:在新版本的CentOS7中,默认的数据库已更新为了Mariadb,而非 MySQL,所以执行 yum install mysql 命令只是更新Mariadb数据库,并不会安装 MySQL 。
2. 查看已安装的 Mariadb 数据库版本。
rpm -qa|grep -i mariadb

3.卸载已安装的 Mariadb 数据库
rpm -qa|grep mariadb|xargs rpm -e --nodeps
4.下载安装包文件。
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm (5.7)
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm (8.0)

5.安装mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装完成之后,会在 /etc/yum.repos.d/ 目录下新增 mysql-community.repo 、mysql-community-source.repo 两个 yum 源文件。

执行 yum repolist all | grep mysql 命令查看可用的 mysql 安装文件。

6.安装mysql。
yum install mysql-server 安装
如果出现
错误:软件包:mysql-community-client-plugins-8.0.34-1.el8.x86_64 (mysql80-community)
需要:libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
原因
旧版本MySQL卸载不干净,Yum缓存没有清空
解决办法
移除所有mysql开头的包
yum list installed | grep mysql
yum remove mysql-community-common
清除yum缓存
yum clean all
删除mysql遗留文件(请做此动作前备份数据)
rm -R /var/cache/yum/x86_64/7/mysql*
如果出现
解决源 “MySQL 8.0 Community Server“ 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
sudo yum install mysql-server --nogpgcheck
yum remove mysql-server 卸载

7.检查mysql是否安装成功。
rpm -qa | grep mysql

8.启动 mysql 服务 。
systemctl start mysqld.service #启动 mysql
systemctl restart mysqld.service #重启 mysql
systemctl stop mysqld.service #停止 mysql
systemctl enable mysqld.service #设置 mysql 开机启动
mysql常用文件路径:
/etc/my.cnf 这是mysql的主配置文件
/var/lib/mysql mysql数据库的数据库文件存放位置
/var/logs/mysqld.log 数据库的日志输出存放位置
查看临时密码
grep ‘password’ /var/log/mysqld.log |head -n 1
9.设置密码 。
mysql -u root
mysql> use mysql;
在mysql7之后authentication_string代替了password,所以这种方法不可行update user set password=PASSWORD("这里输入root用户密码") where user='root';
使用这个
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;刷新
开启防火墙firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
查看用户
mysql>use mysql;
mysql> select user,host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| user01 | localhost |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
如果是mysql8.0
进入之后选择mysql库,用户信息都存在这个库的user表中
use mysql;
select host, user, authentication_string, plugin from user;
update user set host='%' where user = 'root';//设置远程
flush privileges;
设置mysql8密码策略
show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| 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 |
得到这样的结果,密码长度要求8位,验证策略是MEDIUM,就是长度,数字,大小写,特殊字符都得验证,因此出现如此所示的错误,就很正常了。我们可以修改validate_password_policy=0,这样就是只检查长度。另外我们觉着8位太长了,我们可以改为4。这样可以设置root密码为root。
经过如下修改,再次验证。
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)
本文详细介绍在CentOS系统上安装、配置及管理MySQL数据库的过程,包括检查与卸载现有数据库、安装MySQL社区版、解决常见安装错误、设置密码策略等关键步骤。

912

被折叠的 条评论
为什么被折叠?



