一、安装mysql
1、首先确定linux版本,确定下载对应的RPM。(查看mysql与linux版本对应的资料)如果以前安装mysql或者安装失败了,重新安装,需要删除以前的mysql文件。
yum remove mysql mysql-server mysql-libs mysql-server;
1.2: find / -name mysql 将找到的相关东西delete掉;
逐条删除显示的mysql文件:如下面
rm –rf /var/lib/mysql
查找残留文件
rpm -qa | grep -i mysql
将查询出来的文件逐个删除,如:
yum remove mysql-community-common-5.7.29-1.el6.x86_64
2、选择好下载版本,下载该版本。
wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
下载结果:mysql57-community-release-el7-11.noarch.rpm
3、基于EL7的系统使用以下命令安装下载的发行包
sudo yum localinstall mysql57-community-release-el7-11.noarch.rpm
3.1、可以通过以下命令检查MySQL Yum存储库是否已成功添加
yum repolist enabled | grep "mysql.*-community.*"
4、安装mysql
sudo yum -y install mysql-community-server
未找到匹配的参数: mysql-community-server 错误:没有任何匹配: mysql-community-server
yum module disable mysql
安装Mysql失败:GPG密钥已安装,但是不适用于此软件包的问题
GPG验证不通过,我理解是本机配置的这个软件包对应的公钥不对,签名验证失败。(我也不知道这个公钥是在安装过程哪一步自动配置的)。我在mysql官网搜关键字GPG,找到了解决方案,大意是如果使用的4.1以上版本的rpm的话,除了import mysql的公钥到个人用户的配置中,还需要import mysql的公钥到RPM的配置中。
原文:
If you are using RPM 4.1 and it complains about (GPG) NOT OK (MISSING KEYS: GPG#3a79bd29), even though you have imported the MySQL public build key into your own GPG keyring, you need to import the key into the RPM keyring first. RPM 4.1 no longer uses your personal GPG keyring (or GPG itself). Rather, RPM maintains a separate keyring because it is a system-wide application and a user’s GPG public keyring is a user-specific file. To import the MySQL public key into the RPM keyring, first obtain the key, then use rpm --import to import the key. For example:
$> gpg --export -a 3a79bd29 > 3a79bd29.asc
$> rpm --import 3a79bd29.asc
Alternatively, rpm also supports loading the key directly from a URL:
$> rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
-
备注:以上原文命令只适用于mysql5.7,其他版本请点击原文链接,选择相应版本,查看解决方案 解决安装Mysql失败:GPG密钥已安装,但是不适用于此软件包的问题_enterpc的博客-CSDN博客
安装过程中需要确认两次.
这将安装MySQL服务器(mysql-community-server)的软件包以及运行服务器所需组件的软件包,包括客户端软件包(mysql-community-client),客户端和服务器(mysql-community-common)的常见错误消息 和字符集以及共享客户端库(mysql-community-libs) 。
5、启动mysql
sudo service mysqld start (或者systemctl start mysqld.service)
结果:
Redirecting to /bin/systemctl start mysqld.service
6、查看mysql的运行状态
sudo service mysqld status
运行结果:
二、mysql安装后的登录和远程测试
1、登录mysql
1) 超级用户帐户'root'@'localhost被创建。超级用户的密码被设置并存储在错误日志文件中。查看临时密码:
sudo grep 'temporary password' /var/log/mysqld.log
结果:
A temporary password is generated for root@localhost: xxxxxx #xxxxxx就是初始密码。选择最下面的
2) 登录mysql
mysql -uroot -p 然后输入密码
输入密码进入mysql后,登录后必须先修改登录密码,才能进行其他操作。
首先降低mysql的复杂策略: 修改validate_password_policy参数值为0(1为开启复杂策略)
注意:此参数(policy)必须优先修改,因为policy策略不修改为0会影响下面的length参数。
set global validate_password_policy=0;
set global validate_password_length=1;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' ;
密码修改后,可以查看密码设置要求:
SHOW VARIABLES LIKE 'validate_password%';
拓展
新建用户
CREATE USER 'icare_dev'@'%' IDENTIFIED BY '******';
用户授权
添加用户权限: GRANT ALL ON databasename.tablename TO 'icare_dev'@'%';
撤销用户权限: REVOKE ALL ON databasename.tablename TO 'icare_dev'@'%';
删除用户及权限 :drop user 'icare_dev'@'%';
例如 当前数据库下所有的表: GRANT ALL ON icare_dev.* TO ‘icare_dev’@’%’;
如果使用Navicat连接报错:
1.在安装Mysql数据库的主机上登录root用户:
mysql -u root -p
2.依次执行如下命令:
use mysq;
select host from user where user='root';
可以看到当前主机配置信息为localhost.
3.执行update user set host = '%' where user ='root'将Host设置为通配符%。 Host设置了“%”后便可以允许远程访问。
update user set host = '%' where user ='root';
第二种方法:
grant all privileges on *.* to root@"%" identified by "123456";
grant all privileges on *.* to root@"localhost" identified by "123456";
flush privileges;
4.Host修改完成后记得执行flush privilegs使配置立即生效。
flush privileges;
5.使用navicat 成功连接至mysql
————————————————
阿里云的服务器需要配置进出端口号。出入方向都需要配置
如果是腾讯云服务器,选择轻量级的服务器-防火墙添加添加3306接口
如果选择云服务,则需要添加3306的安全组
参考链接:https://blog.csdn.net/java13992394428/article/details/103919572