CentOS 7安装 MySQL5.7
<p><img src="https://img2022.cnblogs.com/blog/2791168/202203/2791168-20220313214725021-199424374.png" alt="" loading="lazy"></p><h2 id="blogTitle0">一:CentOS 7使用RPM安装MySQL5.7</h2>
<p style="margin-left: 30px"><span style="font-family: 楷体, "Kaiti SC"">学到了在CentOS里安装MySQL5.7,那你肯定对MySQL有个基本的使用,所以我废话少说直接干货!!</span></p>
<h3 id="blogTitle1"><span style="color: rgba(0, 0, 0, 1)">1:下载MySQL5.7的rpm安装包</span></h3>
<p style="margin-left: 30px"> <span style="color: rgba(128, 128, 128, 1)"><strong>下载地址 </strong><span style="color: rgba(68, 68, 68, 1)">选择合适的版本,这里我们使用的是MySQL5.7.33;下载完成后发送到自己的CentOS7服务器里,这里可以通过命令:<strong>rz -y</strong>来上传,或者Xftp</span></span></p>
<p style="margin-left: 30px"><span style="color: rgba(128, 128, 128, 1)"><span style="color: rgba(68, 68, 68, 1)"><img src="https://img2022.cnblogs.com/blog/2791168/202203/2791168-20220313215752818-2098713574.png" alt="" loading="lazy"></span></span></p>
<h3 id="blogTitle2">2:卸载已安装的MySQL(没安装过则跳过)</h3>
<p style="margin-left: 30px">注:卸载之前请关闭mysql服务,命令:</p>
<div class="cnblogs_code">
<pre>systemctl stop mysqld</pre>
</div>
<p><img src="https://img2022.cnblogs.com/blog/2791168/202203/2791168-20220314093723744-1244570499.png" alt="" loading="lazy"></p>
<p><strong>按照顺序卸载:</strong></p>
<div class="cnblogs_code">
<pre>rpm -e --nodeps mysql-community-<span style="color: rgba(0, 0, 0, 1)">server
rpm </span>-e --nodeps mysql-community-<span style="color: rgba(0, 0, 0, 1)">client
rpm </span>-e --nodeps mysql-community-<span style="color: rgba(0, 0, 0, 1)">libs
rpm </span>-e --nodeps mysql-community-common</pre>
</div>
<p style="margin-left: 30px"><strong>卸载完基本的环境后,我们要清理依赖的文件(数据库配置文件及数据库数据文件)</strong></p>
<div class="cnblogs_code">
<pre>--<span style="color: rgba(0, 0, 0, 1)"> 删除数据库配置文件(一般情况下卸载了mysql这个文件也会被自动删除)
rm </span>-rf/etc/<span style="color: rgba(0, 0, 0, 1)">my.cnf
</span>--<span style="color: rgba(0, 0, 0, 1)"> 删除数据库数据文件(包含系统数据库表和自定义数据库表)
rm </span>-rf /var/lib/<span style="color: rgba(0, 0, 0, 1)">mysql
</span>--<span style="color: rgba(0, 0, 0, 1)"> 删除日志临时文件(比如安装后产生密码的文件,不删除会发现安装后查询2个初始密码,但以下面的为主)
rm </span>-rf /var/log/mysqld.log</pre>
</div>
<h3 id="blogTitle3">3:MySQL安装环境准备</h3>
<ul>
<li>卸载mariadb:检查是否安装了mariadb(CentOS7默认安装),如存在则卸载mariadb;如果你是CentOS6,则默认是MySQL,那么你就卸载MySQL即可。</li>
<li>
<blockquote>说明:以前的Linux系统中数据库大部分是MySQL,不过自从被 sun 收购之后,就没用集成在centos这些开源Linux系统中了,那么如果想用的话就需要自己安装了,首先centos7 已经不在默认提供 MySQL,因为收费了你懂得,所以内部集成了mariadb,而安装 MySQL 的话会和mariadb的文件冲突,所以需要先卸载掉mariadb。</blockquote>
</li>
</ul>
<p><img src="https://img2022.cnblogs.com/blog/2791168/202203/2791168-20220314094305987-1474406868.png" alt="" loading="lazy"></p>
<div class="cnblogs_code">
<pre>rpm -qa |<span style="color: rgba(0, 0, 0, 1)"> grep mariadb
rpm </span>-e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps</pre>
</div>
<ul>
<li>安装所需依赖:一般都是最新版了,以防万一后面安装出错,缺少依赖。</li>
</ul>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">yum install libaio -y
yum install net</span>-tools -y</pre>
</div>
<h3 id="blogTitle4">4:安装我们上传的四个MySQL包并启动</h3>
<ul>
<li>安装时必须严格遵守安装顺序 <strong>依赖关系依次为 common → libs → client → server</strong></li>
<li><strong><strong>注:ivh中, i-install安装;v-verbose进度条;h-hash哈希校验</strong></strong></li>
</ul>
<p> <img src="https://img2022.cnblogs.com/blog/2791168/202203/2791168-20220316145719478-1238754897.png" alt="" loading="lazy"></p>
<div class="cnblogs_code">
<pre>rpm -ivh mysql-community-common-5.7.33-1<span style="color: rgba(0, 0, 0, 1)">.el7.x86_64.rpm
rpm </span>-ivh mysql-community-libs-5.7.33-1<span style="color: rgba(0, 0, 0, 1)">.el7.x86_64.rpm
rpm </span>-ivh mysql-community-client-5.7.33-1<span style="color: rgba(0, 0, 0, 1)">.el7.x86_64.rpm
rpm </span>-ivh mysql-community-server-5.7.33-1.el7.x86_64.rpm</pre>
<pre># 安装后查询安装的MySQL版本<br> mysqladmin --version</pre>
</div>
<ul>
<li><strong>启动及查询状态</strong> </li>
</ul>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 查询MySQL在系统的状态</span>
<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> systemctl status mysqld</span><span style="color: rgba(0, 128, 0, 1)">
#</span><span style="color: rgba(0, 128, 0, 1)"> 启动MySQL数据库</span>
<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> systemctl start mysqld</span><span style="color: rgba(0, 128, 0, 1)">
#</span><span style="color: rgba(0, 128, 0, 1)"> 关闭MySQL数据库</span>
<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> systemctl stop mysqld</span><span style="color: rgba(0, 128, 0, 1)">
#</span><span style="color: rgba(0, 128, 0, 1)"> 重启MySQL数据库</span>
<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> systemctl restart mysqld</span><span style="color: rgba(0, 128, 0, 1)">
#</span><span style="color: rgba(0, 128, 0, 1)"> 查看MySQL进程</span>
<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> ps -ef | grep mysql</span></pre>
</div>
<h3 id="blogTitle5">5:登录安装的MySQL5.7</h3>
<ul>
<li>由于MySQL5.7.4之前的版本中默认是没有密码的,登录后直接回车就可以进入数据库,从而在里面进行设置密码等操作。其后版本对密码等安全相关操作进行了一些改变,在安装过程中,会在安装日志中生成一个临时密码</li>
<li><strong>获取数据库临时密码:</strong>grep 'temporary password' /var/log/mysqld.log</li>
</ul>
<p> <img src="https://img2022.cnblogs.com/blog/2791168/202203/2791168-20220316145954101-918664088.png" alt="" loading="lazy"></p>
<ul>
<li> <strong>更改密码:初始化密码只是提供给你登录到内部,而我们进入到内部必须修改密码,否则无法对数据库操作,就如下图我们无法操作</strong> </li>
</ul>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;"># new_password替换成自己的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
</pre>
</div>
<p><img src="https://img2022.cnblogs.com/blog/2791168/202203/2791168-20220316150132259-2147017444.png" alt="" loading="lazy"></p>
<blockquote>
<p>什么??不符合策略,这里告诉你,密码为8位并且包含特殊字符、大小写字母、数字</p>
</blockquote>
<p style="margin-left: 30px"><strong>如: ALTER USER 'root'@'localhost' IDENTIFIED BY 'aaAA$$!!66' ;</strong></p>
<div class="cnblogs_code">
<pre>mysql<span style="color: rgba(128, 128, 128, 1)">></span>show variables <span style="color: rgba(128, 128, 128, 1)">like</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">validate_password%</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 128, 128, 1)">+</span><span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">------------------------------------+--------+</span>
<span style="color: rgba(128, 128, 128, 1)">|</span> Variable_name <span style="color: rgba(128, 128, 128, 1)">|</span> Value<span style="color: rgba(128, 128, 128, 1)">|</span>
<span style="color: rgba(128, 128, 128, 1)">+</span><span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">------------------------------------+--------+</span>
<span style="color: rgba(128, 128, 128, 1)">|</span> validate_password_check_user_name <span style="color: rgba(128, 128, 128, 1)">|</span> <span style="color: rgba(0, 0, 255, 1)">OFF</span> <span style="color: rgba(128, 128, 128, 1)">|</span><span style="color: rgba(0, 0, 0, 1)"> 是否验证用户名
</span><span style="color: rgba(128, 128, 128, 1)">|</span> validate_password_dictionary_file <span style="color: rgba(128, 128, 128, 1)">|</span> <span style="color: rgba(128, 128, 128, 1)">|</span><span style="color: rgba(0, 0, 0, 1)"> 密码策略文件,策略为STRONG才需要
</span><span style="color: rgba(128, 128, 128, 1)">|</span> validate_password_length <span style="color: rgba(128, 128, 128, 1)">|</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold">8</span> <span style="color: rgba(128, 128, 128, 1)">|</span><span style="color: rgba(0, 0, 0, 1)"> 密码长度
</span><span style="color: rgba(128, 128, 128, 1)">|</span> validate_password_mixed_case_count <span style="color: rgba(128, 128, 128, 1)">|</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span> <span style="color: rgba(128, 128, 128, 1)">|</span><span style="color: rgba(0, 0, 0, 1)"> 大小写字符长度,至少一个
</span><span style="color: rgba(128, 128, 128, 1)">|</span> validate_password_number_count <span style="color: rgba(128, 128, 128, 1)">|</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span> <span style="color: rgba(128, 128, 128, 1)">|</span><span style="color: rgba(0, 0, 0, 1)"> 数字至少一个
</span><span style="color: rgba(128, 128, 128, 1)">|</span> validate_password_policy <span style="color: rgba(128, 128, 128, 1)">|</span> MEDIUM <span style="color: rgba(128, 128, 128, 1)">|</span><span style="color: rgba(0, 0, 0, 1)"> 密码策略
</span><span style="color: rgba(128, 128, 128, 1)">|</span> validate_password_special_char_count <span style="color: rgba(128, 128, 128, 1)">|</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span> <span style="color: rgba(128, 128, 128, 1)">|</span><span style="color: rgba(0, 0, 0, 1)"> 特殊字符至少一个
</span><span style="color: rgba(128, 128, 128, 1)">+</span><span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">------------------------------------+--------+</span></pre>
</div>
<p style="margin-left: 30px">看到上面设置个密码那么复杂,还记不住,那我们修改一下策略(设置LOW并且长度设置为3)</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">set</span> global validate_password_policy<span style="color: rgba(128, 128, 128, 1)">=</span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">0</span><span style="color: rgba(0, 0, 0, 1)">; # 关闭密码复杂性策略(LOW)
</span><span style="color: rgba(0, 0, 255, 1)">set</span> global validate_password_length<span style="color: rgba(128, 128, 128, 1)">=</span><span style="color: rgba(128, 0, 0, 1); font-weight: bold">3</span><span style="color: rgba(0, 0, 0, 1)">; # 设置密码复杂性要求密码最低长度为3
</span><span style="color: rgba(0, 0, 255, 1)">select</span> <span style="color: rgba(0, 128, 0, 1); font-weight: bold">@@validate_password_policy</span><span style="color: rgba(0, 0, 0, 1)">; # 查看密码复杂性策略
</span><span style="color: rgba(0, 0, 255, 1)">select</span> <span style="color: rgba(0, 128, 0, 1); font-weight: bold">@@validate_password_length</span><span style="color: rgba(0, 0, 0, 1)">; # 查看密码复杂性要求密码最低长度大小
show variables </span><span style="color: rgba(128, 128, 128, 1)">like</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">validate_password%</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">; # 查询具体策略
</span><span style="color: rgba(128, 128, 128, 1)">+</span><span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">------------------------------------+-------+</span>
<span style="color: rgba(128, 128, 128, 1)">|</span> Variable_name <span style="color: rgba(128, 128, 128, 1)">|</span> Value <span style="color: rgba(128, 128, 128, 1)">|</span>
<span style="color: rgba(128, 128, 128, 1)">+</span><span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">------------------------------------+-------+</span>
<span style="color: rgba(128, 128, 128, 1)">|</span> validate_password_check_user_name <span style="color: rgba(128, 128, 128, 1)">|</span> <span style="color: rgba(0, 0, 255, 1)">OFF</span> <span style="color: rgba(128, 128, 128, 1)">|</span>
<span style="color: rgba(128, 128, 128, 1)">|</span> validate_password_dictionary_file <span style="color: rgba(128, 128, 128, 1)">|</span> <span style="color: rgba(128, 128, 128, 1)">|</span>
<span style="color: rgba(128, 128, 128, 1)">|</span> validate_password_length <span style="color: rgba(128, 128, 128, 1)">|</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold">3</span> <span style="color: rgba(128, 128, 128, 1)">|</span>
<span style="color: rgba(128, 128, 128, 1)">|</span> validate_password_mixed_case_count <span style="color: rgba(128, 128, 128, 1)">|</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span> <span style="color: rgba(128, 128, 128, 1)">|</span>
<span style="color: rgba(128, 128, 128, 1)">|</span> validate_password_number_count <span style="color: rgba(128, 128, 128, 1)">|</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span> <span style="color: rgba(128, 128, 128, 1)">|</span>
<span style="color: rgba(128, 128, 128, 1)">|</span> validate_password_policy <span style="color: rgba(128, 128, 128, 1)">|</span> LOW <span style="color: rgba(128, 128, 128, 1)">|</span>
<span style="color: rgba(128, 128, 128, 1)">|</span> validate_password_special_char_count <span style="color: rgba(128, 128, 128, 1)">|</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span> <span style="color: rgba(128, 128, 128, 1)">|</span>
<span style="color: rgba(128, 128, 128, 1)">+</span><span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">------------------------------------+-------+</span></pre>
</div>
<p style="margin-left: 30px">终于可以设置灵魂密码了 : mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123';<span style="color: rgba(255, 0, 0, 1)">(建议不要设置成这样!!!)</span></p>
<h3 id="blogTitle6">6:创建用户并授权</h3>
<p style="margin-left: 30px">MySQL中的用户账户由用户名和主机部分组成,要创建MySQL账户语法如下</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">基本创建:
语法:mysql</span><span style="color: rgba(128, 128, 128, 1)">></span> <span style="color: rgba(0, 0, 255, 1)">CREATE</span> <span style="color: rgba(255, 0, 255, 1)">USER</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">用户名</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">localhost</span><span style="color: rgba(255, 0, 0, 1)">'</span> IDENTIFIED <span style="color: rgba(0, 0, 255, 1)">BY</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">密码</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
# </span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">用户名</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">localhost</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> 其中localhost代表设置只能从localhost本机连接到MySQL服务器,无法远程
语法:mysql</span><span style="color: rgba(128, 128, 128, 1)">></span> <span style="color: rgba(0, 0, 255, 1)">CREATE</span> <span style="color: rgba(255, 0, 255, 1)">USER</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">用户名ser</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">119.28.68.52</span><span style="color: rgba(255, 0, 0, 1)">'</span> IDENTIFIED <span style="color: rgba(0, 0, 255, 1)">BY</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">密码</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
# </span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">用户名</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">119.28.68.52</span><span style="color: rgba(255, 0, 0, 1)">'</span> 只能从IP <span style="color: rgba(128, 0, 0, 1); font-weight: bold">119.28</span>.<span style="color: rgba(128, 0, 0, 1); font-weight: bold">68.52</span><span style="color: rgba(0, 0, 0, 1)"> 的计算机授予(远程)访问权限
语法:mysql</span><span style="color: rgba(128, 128, 128, 1)">></span> <span style="color: rgba(0, 0, 255, 1)">CREATE</span> <span style="color: rgba(255, 0, 255, 1)">USER</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">用户名</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">%</span><span style="color: rgba(255, 0, 0, 1)">'</span> IDENTIFIED <span style="color: rgba(0, 0, 255, 1)">BY</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">密码</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
# </span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">用户名</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">%</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)"> 可以从任何主机连接到MySQL
用户账户权限设置:
</span><span style="color: rgba(128, 128, 128, 1)">ALL</span> <span style="color: rgba(0, 0, 255, 1)">PRIVILEGES</span><span style="color: rgba(128, 128, 128, 1)">-</span><span style="color: rgba(0, 0, 0, 1)"> 授予用户帐户的所有权限。
</span><span style="color: rgba(0, 0, 255, 1)">CREATE</span> <span style="color: rgba(128, 128, 128, 1)">-</span><span style="color: rgba(0, 0, 0, 1)"> 允许用户帐户创建数据库和表。
</span><span style="color: rgba(0, 0, 255, 1)">DROP</span> <span style="color: rgba(128, 128, 128, 1)">-</span><span style="color: rgba(0, 0, 0, 1)"> 允许用户帐户删除数据库和表。
</span><span style="color: rgba(0, 0, 255, 1)">DELETE</span> <span style="color: rgba(128, 128, 128, 1)">-</span><span style="color: rgba(0, 0, 0, 1)"> 允许用户帐户从特定表中删除行。
</span><span style="color: rgba(0, 0, 255, 1)">INSERT</span> <span style="color: rgba(128, 128, 128, 1)">-</span><span style="color: rgba(0, 0, 0, 1)"> 允许用户帐户将行插入特定表。
</span><span style="color: rgba(0, 0, 255, 1)">SELECT</span> <span style="color: rgba(128, 128, 128, 1)">-</span><span style="color: rgba(0, 0, 0, 1)"> 允许用户帐户读取数据库。
</span><span style="color: rgba(0, 0, 255, 1)">UPDATE</span> <span style="color: rgba(128, 128, 128, 1)">-</span><span style="color: rgba(0, 0, 0, 1)"> 允许用户帐户更新表行。
语法:mysql</span><span style="color: rgba(128, 128, 128, 1)">></span> <span style="color: rgba(0, 0, 255, 1)">GRANT</span> <span style="color: rgba(128, 128, 128, 1)">ALL</span> 权限1,权限2,... <span style="color: rgba(0, 0, 255, 1)">ON</span> 分配权限的数据库名称 . <span style="color: rgba(128, 128, 128, 1)">*</span> <span style="color: rgba(0, 0, 255, 1)">TO</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">用户名</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">%</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
一些示例如下:
对特定数据库上的用户帐户授予所有权限:
</span><span style="color: rgba(0, 0, 255, 1)">GRANT</span> <span style="color: rgba(128, 128, 128, 1)">ALL</span> <span style="color: rgba(0, 0, 255, 1)">PRIVILEGES</span> <span style="color: rgba(0, 0, 255, 1)">ON</span> database_name.<span style="color: rgba(128, 128, 128, 1)">*</span> <span style="color: rgba(0, 0, 255, 1)">TO</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">database_user</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">localhost</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
为所有数据库上的用户帐户授予所有权限:
</span><span style="color: rgba(0, 0, 255, 1)">GRANT</span> <span style="color: rgba(128, 128, 128, 1)">ALL</span> <span style="color: rgba(0, 0, 255, 1)">PRIVILEGES</span> <span style="color: rgba(0, 0, 255, 1)">ON</span> <span style="color: rgba(128, 128, 128, 1)">*</span>.<span style="color: rgba(128, 128, 128, 1)">*</span> <span style="color: rgba(0, 0, 255, 1)">TO</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">database_user</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">localhost</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
通过数据库中的特定表格对用户帐户的所有权限:
</span><span style="color: rgba(0, 0, 255, 1)">GRANT</span> <span style="color: rgba(128, 128, 128, 1)">ALL</span> <span style="color: rgba(0, 0, 255, 1)">PRIVILEGES</span> <span style="color: rgba(0, 0, 255, 1)">ON</span> database_name.table_name <span style="color: rgba(0, 0, 255, 1)">TO</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">database_user</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">localhost</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
通过特定数据库为用户帐户授予多个权限:
</span><span style="color: rgba(0, 0, 255, 1)">GRANT</span> <span style="color: rgba(0, 0, 255, 1)">SELECT</span>, <span style="color: rgba(0, 0, 255, 1)">INSERT</span>, <span style="color: rgba(0, 0, 255, 1)">DELETE</span> <span style="color: rgba(0, 0, 255, 1)">ON</span> database_name.<span style="color: rgba(128, 128, 128, 1)">*</span> <span style="color: rgba(0, 0, 255, 1)">TO</span> database_user@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">localhost</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
显示MySQL用户帐户权限
要查找授予特定MySQL用户帐户的权限,请使用SHOW GRANTS语句:
SHOW GRANTS </span><span style="color: rgba(0, 0, 255, 1)">FOR</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">用户名</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">localhost</span><span style="color: rgba(255, 0, 0, 1)">'</span>;</pre>
</div>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)"># 首先我创建一个数据库,为了给用户分配上权限
</span><span style="color: rgba(0, 0, 255, 1)">CREATE</span> <span style="color: rgba(0, 0, 255, 1)">DATABASE</span> <span style="color: rgba(0, 0, 255, 1)">IF</span> <span style="color: rgba(128, 128, 128, 1)">NOT</span> <span style="color: rgba(128, 128, 128, 1)">EXISTS</span> chemical_safety <span style="color: rgba(0, 0, 255, 1)">DEFAULT</span><span style="color: rgba(0, 0, 0, 1)"> CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
# 创建用户
</span><span style="color: rgba(0, 0, 255, 1)">CREATE</span> <span style="color: rgba(255, 0, 255, 1)">USER</span> <span style="color: rgba(255, 0, 0, 1)">'chemical</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">%</span><span style="color: rgba(255, 0, 0, 1)">'</span> IDENTIFIED <span style="color: rgba(0, 0, 255, 1)">BY</span> <span style="color: rgba(255, 0, 0, 1)">'<strong>aaAA$$!!66</strong></span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">; # 可远程访问权限
</span><span style="color: rgba(0, 0, 255, 1)">CREATE</span> <span style="color: rgba(255, 0, 255, 1)">USER</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">jack</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">localhost</span><span style="color: rgba(255, 0, 0, 1)">'</span> IDENTIFIED <span style="color: rgba(0, 0, 255, 1)">BY</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">54088</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">; # 本地访问的权限
# 分配school表给用户jack最大权限
</span><span style="color: rgba(0, 0, 255, 1)">GRANT</span> <span style="color: rgba(128, 128, 128, 1)">ALL</span> <span style="color: rgba(0, 0, 255, 1)">PRIVILEGES</span> <span style="color: rgba(0, 0, 255, 1)">ON</span> chemical_safety.<span style="color: rgba(128, 128, 128, 1)">*</span> <span style="color: rgba(0, 0, 255, 1)">TO</span> <span style="color: rgba(255, 0, 0, 1)">'chemical</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">%</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">;
# 刷新配置
flush </span><span style="color: rgba(0, 0, 255, 1)">privileges</span>;</pre>
</div>
<p><img src="https://img2022.cnblogs.com/blog/2791168/202203/2791168-20220316150907463-1179688674.png" alt="" loading="lazy"></p>
<ul>
<li> <strong>撤销MySQL用户上的权限:用户帐户撤消一个或多个权限的语法与授予权限时几乎相同。如要通过特定数据库撤消用户帐户的所有权限,请使用以下命令</strong></li>
</ul>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">REVOKE</span> <span style="color: rgba(128, 128, 128, 1)">ALL</span> <span style="color: rgba(0, 0, 255, 1)">PRIVILEGES</span> <span style="color: rgba(0, 0, 255, 1)">ON</span> school.<span style="color: rgba(128, 128, 128, 1)">*</span> <span style="color: rgba(0, 0, 255, 1)">FROM</span> <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">jack</span><span style="color: rgba(255, 0, 0, 1)">'</span>@<span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">%</span><span style="color: rgba(255, 0, 0, 1)">'</span>;</pre>
</div>
<ul>
<li><strong>删除MySQL用户账户</strong></li>
</ul>
<div class="cnblogs_code">
<pre>DROP USER 'jack'@'%';</pre>
</div>
<h3 id="blogTitle6">7:修改my.cnf配置文件</h3>
<p style="margin-left: 30px">这个配置比较通用,适合中小企业</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">默认</span>
port=3306
<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">数据目录</span>
datadir=/var/lib/<span style="color: rgba(0, 0, 0, 1)">mysql
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">该条配置需在段同时配置</span>
socket=/var/lib/mysql/<span style="color: rgba(0, 0, 0, 1)">mysql.sock
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">多客户访问同一数据库,该选项默认开启</span>
symbolic-links=0
<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">默认</span>
log-error=/var/log/<span style="color: rgba(0, 0, 0, 1)">mysqld.log
pid</span><span style="color: rgba(0, 128, 128, 1)">-file</span>=/var/run/mysqld/<span style="color: rgba(0, 0, 0, 1)">mysqld.pid
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">打开时,和max_connections对比,取大数</span>
open_files_limit=65535
<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">开启慢查询日志相关,默认10秒,慢查询日志路径,记录没有使用索引的sql</span>
slow_query_log=<span style="color: rgba(0, 0, 0, 1)">on
long_query_time</span>=10<span style="color: rgba(0, 0, 0, 1)">
slow_query_log_file</span>=/var/log/mysql/<span style="color: rgba(0, 0, 0, 1)">slow_query.log
log</span>-queries<span style="color: rgba(0, 128, 128, 1)">-not</span>-using-indexes=1
<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间</span>
default_storage_engine=<span style="color: rgba(0, 0, 0, 1)">InnoDB
innodb_file_per_table</span>=<span style="color: rgba(0, 0, 0, 1)">on
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">生产中要改,建议为操作系统内存的70%-80%,需重启服务生效</span>
innodb_buffer_pool_size=<span style="color: rgba(0, 0, 0, 1)">1G
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">忽略主机名解析,提高访问速度(注意配置文件中使用主机名将不能解析)</span>
skip_name_resolve=<span style="color: rgba(0, 0, 0, 1)">on
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">忽略表单大小写</span>
lower_case_table_names=0
<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">设定默认字符为utf8mb4</span>
character-set-server=<span style="color: rgba(0, 0, 0, 1)">utf8mb4
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">SQL_MODEL</span>
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'</pre>
</div>
<p style="margin-left: 30px">重启MySQL服务</p>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">systemctl restart mysqld</pre>
</div>
<hr>
<div style="border: 1px dashed rgba(192, 192, 192, 1); background-color: rgba(0, 0, 0, 0); width: 600px; padding: 12px; font-size: 12px; font-family: 微软雅黑"> <strong>免责声明:</strong><br>
本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除。<br>
安装步骤参考原文地址:html地址<br>
本文新增my.cnf配置文件
</div>
<p><strong style="margin: 0; padding: 0; color: rgba(68, 68, 68, 1); font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif">DROP USER 'jack'@'%';</strong></p><br><br>
来源:https://www.cnblogs.com/niubio/p/16002025.html
頁:
[1]