centos7安装mysql步骤,问题汇总
一、检查系统是否安装过mysql
1、检查系统是否安装过mysql,如果没有略过此步骤:如下图:
//检查系统中有无安装过mysql [root@localhost tool]# rpm -qa | grep mysql
2、如果系统自带mysql,查询所有mysql 对应的文件夹,全部删除
whereis mysql find / -name mysql
二、卸载CentOS7系统自带mariadb
1、查看系统自带的Mariadb
rpm -qa|grep mariadb
2、卸载系统自带的Mariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7-5.x86_64
3、删除etc目录下的my.cnf ,一定要删掉,等下再重新建,不删除导致后面改配置各种不生效
rm /etc/my.cnf
效果如下图所示:
三、安装mysql
1、wget 下载
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
提示:wget不可用,请先安装wget命令
yum -y install wget
安装MySQL的另一种方式:tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C /xz/,自行下载安装包解压,本文主要讲述yum的方式安装过程。
2、下载完成后使用yum命令安装
Yum -y install mysql-server
3、安装失败,原因:密钥问题
问题:失败的软件包是:mysql-community-server-5.7.38-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
再次执行 Yum -y install mysql-server 成功。
4、启动mysql数据库
systemctl start mysqld
四、MySQL配置
1、修改登录免密码
为了方便设置密码等权限操作,设置免登录的密码。
vim /etc/my.conf
在 [mysqld] 这个模块最后一行插入这一语句:skip-grant-tables
如下图所示:
重启MySQL
systemctl restart mysqld
2、设置密码参数,修改密码
登录:mysql -u root -p
修改MySQL密码策略:set global validate_password_policy=0;
更改密码长度:set global validate_password_length=6;
设置秘密:set password for root@localhost=password('123456');
刷新:flush privileges;
注释掉修改登录免密码:vim /etc/my.conf ,上面第一步添加的skip-grant-tables注释掉
3、开启远程连接
mysql登录状态下执行:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
4、开启3306、8080端口
退出mysql登录状态执行命令:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
防火墙重新载入:
firewall-cmd --reload
5、更改mysql的语言,etc目录下的my.cnf文件下修改一下文件内容
vim /etc/my.conf
如下图所示:
6、使用navicat连接数据库执行sql报错
报错信息:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated
打开my.conf配置文件,在[mysql]节点下添加如下内容:
sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
如下图所示:
重启MySQL:
systemctl restart mysqld