Ubuntu18.04(linux)安装MySQL的方法步骤
<p><span><strong>安装</strong></span></p>
<p>
mysql</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_144949">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">sudo</code> <code class="bash plain">apt-get --purge remove mysql-server mysql-common mysql-client</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">sudo</code> <code class="bash plain">apt-get </code><code class="bash functions">install</code> <code class="bash plain">mysql-server mysql-common mysql-client</code>
</div>
<div class="line number3 index2 alt2">
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">mysqladmin -u root password your-new-password</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash functions">sudo</code> <code class="bash plain">/etc/init</code><code class="bash plain">.d</code><code class="bash plain">/mysql</code> <code class="bash plain">restart</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
mariadb</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_235169">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">apt-get </code><code class="bash functions">install</code> <code class="bash plain">mariadb-server</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong><span>字符集修改utf8</span></strong></p>
<p>
如果装的mariadb, 默认字符集已经是utf8了。mysql则不是</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightersql" id="highlighter_775635">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="sql plain">mysql> show variables </code><code class="sql color1">like</code> <code class="sql string">'char%'</code><code class="sql plain">;</code>
</div>
<div class="line number2 index1 alt1">
<code class="sql plain">+</code><code class="sql comments">--------------------------+----------------------------+</code>
</div>
<div class="line number3 index2 alt2">
<code class="sql plain">| Variable_name | Value |</code>
</div>
<div class="line number4 index3 alt1">
<code class="sql plain">+</code><code class="sql comments">--------------------------+----------------------------+</code>
</div>
<div class="line number5 index4 alt2">
<code class="sql plain">| character_set_client | utf8 |</code>
</div>
<div class="line number6 index5 alt1">
<code class="sql plain">| character_set_connection | utf8 |</code>
</div>
<div class="line number7 index6 alt2">
<code class="sql plain">| character_set_database | latin1 |</code>
</div>
<div class="line number8 index7 alt1">
<code class="sql plain">| character_set_filesystem | </code><code class="sql keyword">binary</code> <code class="sql plain">|</code>
</div>
<div class="line number9 index8 alt2">
<code class="sql plain">| character_set_results | utf8 |</code>
</div>
<div class="line number10 index9 alt1">
<code class="sql plain">| character_set_server | latin1 |</code>
</div>
<div class="line number11 index10 alt2">
<code class="sql plain">| character_set_system | utf8 |</code>
</div>
<div class="line number12 index11 alt1">
<code class="sql plain">| character_sets_dir | /usr/share/mysql/charsets/ |</code>
</div>
<div class="line number13 index12 alt2">
<code class="sql plain">+</code><code class="sql comments">--------------------------+----------------------------+</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<div class="jb51code">
<div>
<div class="syntaxhighlightersql" id="highlighter_454265">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="sql plain">mysql> show variables </code><code class="sql color1">like</code> <code class="sql string">'collation%'</code><code class="sql plain">;</code>
</div>
<div class="line number2 index1 alt1">
<code class="sql plain">+</code><code class="sql comments">----------------------+-------------------+</code>
</div>
<div class="line number3 index2 alt2">
<code class="sql plain">| Variable_name | Value |</code>
</div>
<div class="line number4 index3 alt1">
<code class="sql plain">+</code><code class="sql comments">----------------------+-------------------+</code>
</div>
<div class="line number5 index4 alt2">
<code class="sql plain">| collation_connection | utf8_general_ci |</code>
</div>
<div class="line number6 index5 alt1">
<code class="sql plain">| collation_database | latin1_swedish_ci |</code>
</div>
<div class="line number7 index6 alt2">
<code class="sql plain">| collation_server | latin1_swedish_ci |</code>
</div>
<div class="line number8 index7 alt1">
<code class="sql plain">+</code><code class="sql comments">----------------------+-------------------+</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
修改字符集:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_24238">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">sudo</code> <code class="bash plain">vim </code><code class="bash plain">/etc/mysql/my</code><code class="bash plain">.cnf</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
添加以下内容</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_444272">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain"></code>
</div>
<div class="line number2 index1 alt1">
<code class="plain plain">collation-server = utf8_unicode_ci</code>
</div>
<div class="line number3 index2 alt2">
<code class="plain plain">init-connect='SET NAMES utf8'</code>
</div>
<div class="line number4 index3 alt1">
<code class="plain plain">character-set-server = utf8</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
重启:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterplain" id="highlighter_863720">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="plain plain">service mysql restart</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>登录权限问题</strong></span></p>
<p>
Ubuntu18.04 安装mysql或者mariadb之后,发现普通用户和远程都没有权限连接。</p>
<blockquote>
<p>
ERROR 1045: Access denied for user: 'root@localhost' (Using<br>
password: YES)</p>
</blockquote>
<p>
修改了密码也不对。然后<code>sudo mysql -u root</code>即可登录。这显然不是我们想要的。</p>
<p>
<strong>解决方案</strong></p>
<p>
删除root,重新创建用户。</p>
<p>
首先,登录</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_74122">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">sudo</code> <code class="bash plain">mysql -u root</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
然后查看当前用户</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightersql" id="highlighter_805093">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="sql keyword">SELECT</code> <code class="sql color2">User</code><code class="sql plain">,Host </code><code class="sql keyword">FROM</code> <code class="sql plain">mysql.</code><code class="sql color2">user</code><code class="sql plain">;</code>
</div>
<div class="line number2 index1 alt1">
<code class="sql plain">+</code><code class="sql comments">------------------+-----------+</code>
</div>
<div class="line number3 index2 alt2">
<code class="sql plain">| </code><code class="sql color2">User</code> <code class="sql plain">| Host |</code>
</div>
<div class="line number4 index3 alt1">
<code class="sql plain">+</code><code class="sql comments">------------------+-----------+</code>
</div>
<div class="line number5 index4 alt2">
<code class="sql plain">| admin | localhost |</code>
</div>
<div class="line number6 index5 alt1">
<code class="sql plain">| debian-sys-maint | localhost |</code>
</div>
<div class="line number7 index6 alt2">
<code class="sql plain">| magento_user | localhost |</code>
</div>
<div class="line number8 index7 alt1">
<code class="sql plain">| mysql.sys | localhost |</code>
</div>
<div class="line number9 index8 alt2">
<code class="sql plain">| root | localhost |</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
删除root账号</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightersql" id="highlighter_178274">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="sql plain">mysql> </code><code class="sql keyword">DROP</code> <code class="sql color2">USER</code> <code class="sql string">'root'</code><code class="sql plain">@</code><code class="sql string">'localhost'</code><code class="sql plain">;</code>
</div>
<div class="line number2 index1 alt1">
<code class="sql plain">Query OK, 0 </code><code class="sql keyword">rows</code> <code class="sql plain">affected (0,00 sec)</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
重新创建root:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightersql" id="highlighter_877691">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="sql plain">mysql> </code><code class="sql keyword">CREATE</code> <code class="sql color2">USER</code> <code class="sql string">'root'</code><code class="sql plain">@</code><code class="sql string">'%'</code> <code class="sql plain">IDENTIFIED </code><code class="sql keyword">BY</code> <code class="sql string">'123456'</code><code class="sql plain">;</code>
</div>
<div class="line number2 index1 alt1">
<code class="sql plain">Query OK, 0 </code><code class="sql keyword">rows</code> <code class="sql plain">affected (0,00 sec)</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
授权</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightersql" id="highlighter_965948">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="sql plain">mysql> </code><code class="sql keyword">GRANT</code> <code class="sql color1">ALL</code> <code class="sql keyword">PRIVILEGES</code> <code class="sql keyword">ON</code> <code class="sql plain">*.* </code><code class="sql keyword">TO</code> <code class="sql string">'root'</code><code class="sql plain">@</code><code class="sql string">'%'</code> <code class="sql keyword">WITH</code> <code class="sql keyword">GRANT</code> <code class="sql keyword">OPTION</code><code class="sql plain">;</code>
</div>
<div class="line number2 index1 alt1">
<code class="sql plain">Query OK, 0 </code><code class="sql keyword">rows</code> <code class="sql plain">affected (0,00 sec)</code>
</div>
<div class="line number3 index2 alt2">
</div>
<div class="line number4 index3 alt1">
<code class="sql plain">mysql> FLUSH </code><code class="sql keyword">PRIVILEGES</code><code class="sql plain">;</code>
</div>
<div class="line number5 index4 alt2">
<code class="sql plain">Query OK, 0 </code><code class="sql keyword">rows</code> <code class="sql plain">affected (0,01 sec)</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>关于重置密码</strong></span></p>
<p>
host为<code>%</code>时允许远程登录</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightersql" id="highlighter_370197">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="sql keyword">SET</code> <code class="sql keyword">PASSWORD</code> <code class="sql keyword">FOR</code> <code class="sql plain">root@</code><code class="sql string">'localhost'</code> <code class="sql plain">= </code><code class="sql keyword">PASSWORD</code><code class="sql plain">(</code><code class="sql string">'password'</code><code class="sql plain">);</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
or</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightersql" id="highlighter_180301">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="sql keyword">UPDATE</code> <code class="sql plain">mysql.</code><code class="sql color2">user</code> <code class="sql keyword">SET</code> <code class="sql keyword">Password</code><code class="sql plain">=</code><code class="sql keyword">PASSWORD</code><code class="sql plain">(</code><code class="sql string">'newpwd'</code><code class="sql plain">) </code><code class="sql keyword">WHERE</code> <code class="sql color2">User</code><code class="sql plain">=</code><code class="sql string">'root'</code><code class="sql plain">;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
or</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightersql" id="highlighter_751050">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="sql plain">USE mysql</code>
</div>
<div class="line number2 index1 alt1">
<code class="sql keyword">UPDATE</code> <code class="sql color2">user</code> <code class="sql keyword">SET</code> <code class="sql keyword">Password</code> <code class="sql plain">= </code><code class="sql keyword">PASSWORD</code><code class="sql plain">(</code><code class="sql string">'newpwd'</code><code class="sql plain">)</code>
</div>
<div class="line number3 index2 alt2">
<code class="sql keyword">WHERE</code> <code class="sql plain">Host = </code><code class="sql string">'localhost'</code> <code class="sql color1">AND</code> <code class="sql color2">User</code> <code class="sql plain">= </code><code class="sql string">'root'</code><code class="sql plain">;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
允许任何地方登录</p>
<div class="jb51code">
<div>
<div class="syntaxhighlightersql" id="highlighter_971653">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="sql plain">USE mysql</code>
</div>
<div class="line number2 index1 alt1">
<code class="sql keyword">UPDATE</code> <code class="sql color2">user</code> <code class="sql keyword">SET</code> <code class="sql keyword">Password</code> <code class="sql plain">= </code><code class="sql keyword">PASSWORD</code><code class="sql plain">(</code><code class="sql string">'newpwd'</code><code class="sql plain">)</code>
</div>
<div class="line number3 index2 alt2">
<code class="sql keyword">WHERE</code> <code class="sql plain">Host = </code><code class="sql string">'%'</code> <code class="sql color1">AND</code> <code class="sql color2">User</code> <code class="sql plain">= </code><code class="sql string">'root'</code><code class="sql plain">;</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>参考</strong><br>
https://askubuntu.com/questions/766334/cant-login-as-mysql-user-root-from-normal-user-account-in-ubuntu-16-04<br>
https://help.ubuntu.com/community/MysqlPasswordReset</p>
<p>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。</p>
<p>
原文链接:https://www.cnblogs.com/woshimrf/p/ubuntu-install-mysql.html</p>
頁:
[1]