念小鱼儿 發表於 2023-10-8 00:00:00

centos7 用rpm安装mysql详解

<p>   最近做一个项目,需要用centos做数据服务器,用mysql数据库,就需要安装mysql数据库,之前没接触过centos,因此什么也不懂,就从网上也查了很多资料,都觉得不是最好的方法。最后结合mysql官方资料和网友的资料,最后用rpm方式安装,并总结给其他人以参考。</p>
<p>    首先打开mysql管网,找到“yum repository”打开页面或者直接打开如下链接</p>
<p>http://dev.mysql.com/downloads/repo/yum/</p>
<p>,找到自己需要的,点击download,下载rpm文件,在centos中下载完成house可以用软件管理器安装,也可以自己用命令行安装</p>
<p><span>sudo rpm -Uvh 'filename'</span><br></p>
<p><strong>  完成安装。</strong></p>
<p>    输入</p>
<p><span>yum repolist all | grep mysql<br></span></p>
<p>  可以查看所有的mysql对应的rpm包,如果是安装之前的版本,则需要进行相应的设置,打开</p>
<p><span>/etc/yum.repos.d/mysql-community.repo</span><br></p>
<p>文件,设置对应版本的enabled属性,1是启用,0是禁用,如果安装当前的最新版本,则无需进行任何 设置。</p>
<p>     输入以下命令开始安装mysql</p>
<p><span>sudo yum install mysql-community-server</span><br></p>
<p>  等待安装完成,输入以下命令,启动mysql服务  </p>
<p><span>sudo service mysqld start</span><br></p>
<p>  启动完成,house可以查看mysql服务状态</p>
<p><span>sudo service mysqld status</span><br></p>
<p>  如果安装的是5.7版本,在服务启动时,因为数据目录是空的,会产生以下操作:</p>
<ol>
<li>      初始化服务器</li>
<li>  在数据目录中生成SSL证书和密钥文件</li>
<li>  安装并启用 validate_password 插件</li>
<li>  超级用户账户'root'@'localhost'被创建,超级用户密码被设置并存储在error日志文件,如需要显示它,则执行如下命令<br>
</li>
</ol>
<div><span> sudo grep 'temporary password' /var/log/mysqld.log</span></div>
<p> 此时会生成一个随机密码,在命令行中输入</p>
<p><span>mysql -uroot -p</span><br></p>
<p>  加上刚才的随机密码,登录mysql。</p>
<p>  用该密码登录到服务端后,必须马上修改密码,不然会报如下错误(本地方参考http://www.cnblogs.com/ivictor/p/5142809.html):</p>
<p><span>mysql&gt; select user();<br>
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.<br></span></p>
<p>  如果只是修改为一个简单的密码,会报以下错误:</p>
<p><span>mysql&gt;  ALTER USER USER() IDENTIFIED BY '12345678';<br>
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements  </span></p>
<p>这个其实与validate_password_policy的值有关。</p>
<p>validate_password_policy有以下取值:</p>
<p>
</p>
<table summary="This table lists the password policies enforced
by the validate_password plugin and
describes the tests performed for each policy." border="1">
<thead><tr>
<th scope="col">Policy</th>
      <th scope="col">Tests Performed</th>
    </tr></thead>
<tbody>
<tr>
<td scope="row">0 or LOW</td>
      <td>Length</td>
    </tr>
<tr>
<td scope="row">1 or MEDIUM</td>
      <td>Length; numeric, lowercase/uppercase, and special characters</td>
    </tr>
<tr>
<td scope="row">2 or STRONG</td>
      <td>Length; numeric, lowercase/uppercase, and special characters; dictionary file</td>
    </tr>
</tbody>
</table>
<p></p>
<p>默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。</p>
<p>有时候,只是为了自己测试,不想密码设置得那么复杂,譬如说,我只想设置root的密码为123456。</p>
<p>必须修改两个全局参数:</p>
<p>首先,修改validate_password_policy参数的值</p>
<p>mysql&gt; set global validate_password_policy=0;<br>
Query OK, 0 rows affected (0.00 sec)<br></p>
<p>  更改之后可以修改为你自己的密码。</p>
<p>  设置完成后需要设置mysql的远程访问权限,这里有两个地方需要设置,一个是对外部ip地址开放,一个是端口开放。</p>
<p>  最常用的设置是,通过如下命令,设置mysql授权</p>
<p><span>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;<br></span></p>
<p>  如果要对某一个ip地址设置授权,则需要把%改为你的ip地址,设置完成,重新授权表</p>
<p>FLUSH PRIVILEGES;<br></p>
<p>  然后exit退出mysql,并重新启动mysql</p>
<p><span>service mysqld restart</span><br></p>
<p>  在centos7中通过 firewall-cmd设置3306端口开放</p>
<p><span>firewall-cmd --zone=public --add-port=3306/tcp --permanent<br></span></p>
<p>  设置完成,重新加载firewall</p>
<p><span>firewall-cmd --reload</span><br></p>
<p>  通过命令来查看3306端口是否设置成功</p>
<p><span>firewall-cmd --list-all-zones</span><br></p>
<p>  至此,centos7中mysql安装并配置完成</p>
<p>感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!</p>
頁: [1]
查看完整版本: centos7 用rpm安装mysql详解