AlmaLinux下MySQL 8安装与数据迁移
<p>首先安装mysql server</p><pre class="language-bash highlighter-hljs"><code>sudo yum install mysql-community-server.x86_64</code></pre>
<p>启动服务并设为开机启动</p>
<pre class="language-bash highlighter-hljs"><code>sudo systemctl start mysqld
sudo systemctl enable mysqld</code></pre>
<p>此时使用root账号登陆mysql,发现有未知默认密码,因此通过跳过密码的方式登录</p>
<p>首先修改配置文件/etc/my.cnf,在区域增加一行<code>skip-grant-tables</code>并保存,执行命令<code>sudo systemctl restart mysqld</code>来重启mysql服务</p>
<p>执行<code>mysql -u root -p</code>登录,遇到密码直接回车,在mysql命令行中清空密码</p>
<pre class="language-bash highlighter-hljs"><code>use mysql;
update user set authentication_string = '' where user = 'root';
exit;</code></pre>
<p>退出mysql命令行后,去掉/etc/my.cnf中加的那行配置,并重启服务,再次登录,无密码直接回车</p>
<pre class="language-bash highlighter-hljs"><code>alter user 'root'@'localhost' identified by '${password}';
flush privileges;
exit;</code></pre>
<p>注意mysql 8对密码复杂度有强要求,过于简单的密码会设置失败,若要设置简单密码,可参考Ubuntu下,MySQL密码遗失时修改密码,注意要先设置一次密码才能修改密码策略,且密码策略变量名与文中不同,注意区分</p>
<p>接下来创建新的mysql账号用以在代码中连接使用(这里我使用的账号是soul)</p>
<pre class="language-bash highlighter-hljs"><code>use mysql;
create user 'soul'@'%' identified by '${password}';
grant all privileges on *.* to 'soul'@'%' with grant option;
flush privileges;
exit;</code></pre>
<p> 原始数据库机器上命令行导出原数据库的库表和数据,并将文件传到新机器上</p>
<pre class="language-bash highlighter-hljs"><code>mysqldump -u soul -p --databases ${dbname] > ${filename}.sql</code></pre>
<p>登录mysql命令行,导入数据库表和数据</p>
<pre class="language-bash highlighter-hljs"><code>source /${filepath}/${filename}.sql;
exit;</code></pre>
<p> </p>
</div>
<div id="MySignature" role="contentinfo">
<p>本文来自博客园,作者:SoulTraitor,转载请注明原文链接:https://www.cnblogs.com/soultraitor/p/19316746</p><br><br>
来源:https://www.cnblogs.com/soultraitor/p/19316746
頁:
[1]