csjoz11

导航

在线安装mysql

一、安装mysql

rpm -qa|grep "wget"

 

yum -y install wget

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:

 
  1.  
    $> gpg --export -a 3a79bd29 > 3a79bd29.asc
  2.  
    $> 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

 

     安装过程中需要确认两次.

这将安装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


————————————————

 

在MySQL中创建一个用户并赋予该用户所有权限,可以按照以下步骤进行操作:

登录到MySQL服务器的命令行或图形界面工具。
使用具有足够权限的用户(如root)登录到MySQL服务器。
运行以下命令以创建用户:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
1
在上述命令中,‘username’是您要创建的用户名,‘localhost’表示该用户只能从本地主机连接。如果您希望允许远程连接,请将’localhost’替换为’%’,表示该用户可以从任何主机连接到MySQL服务器。

授予用户所有权限,可以使用以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';
1
上述命令将授予该用户对所有数据库和所有表的所有权限。如果您只想授予用户对特定数据库的权限,将*.*替换为database_name.*,其中database_name是您要授予权限的数据库名。

最后,运行以下命令以使更改生效:
FLUSH PRIVILEGES;
1
现在,您已成功创建了一个用户并为该用户赋予了所有权限。请记住,授予用户所有权限可能存在一定的安全风险。建议根据实际需求仅授予所需的最低权限,并采取其他安全措施来保护数据库。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/a772304419/article/details/133351632

posted on 2022-11-09 11:31  csjoz11  阅读(391)  评论(0编辑  收藏  举报