1.MySQL版本适用说明
MySQL版本 | 适用的系统 |
---|---|
el5, el6, el7 | Red Hat Enterprise Linux/Oracle Linux/CentOS 5, 6, or 7 |
fc24, fc25 | Fedora 24 or 25 |
sles12 | SUSE Linux Enterprise Server 12 |
2.安装源文件下载
在官方网站的下载选项中提供两类下载地址:
- 通用版(Generally Available (GA) Release)
- 开发版(Development Release)
考虑到运行的稳定性,作者在此将推荐下载 GA 版本。
本示例中使用的MySQL安装版本为:Red Hat Enterprise Linux 6 / Oracle Linux 6 (x86, 64-bit), RPM Bundle (440MB)
其文件名为:mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar
附:[ MySQL Community Server 下载地址 ]
3.卸载系统MySQL较旧版本
CentOS6.5中预装的MySQL版本为5.1.71-1.el6
。在卸载较旧版本之前,如果您的系统中还没有用于运行mysqld
的用户名和组,那么就需要为系统添加一个mysql
用户 (并不是一定叫mysql
,也可以叫其他名称,但是需要遵循语法、操作规定)。
(1)添加mysql
组和mysql
用户
<span style="color:#000000"><code>groupadd mysql
useradd -r -g mysql -s /bin/<span style="color:#006666">false</span> mysql</code></span>
- 1
- 2
注:
groupadd
和useradd
的语法或名称在不同版本的Unix系统上可能略有不同,但在CentOS6.5中应进行如上操作。上述操作只是为了获得系统的所有权,而不是以登录为目的;使用useradd
命令和-r
和-s /bin/false
选项来创建一个没有登录权限的用户。
(2)查看系统旧版MySQL
<span style="color:#000000"><code>rpm -qa <span style="color:#009900">| grep mysql</span></code></span>
- 1
将会输出系统中原MySQL及其组件列表,例如:
- mysql-5.1.71-1.el6.x86_64
- mysql-devel-5.1.71-1.el6.x86_64
- mysql-libs-5.1.71-1.el6.x86_64
- mysql-server-5.1.71-1.el6.x86_64
- qt-mysql-4.6.2-26.el6_4.x86_64
注: 以上列表中的文件可能并不全,但是列表中的文件将会按顺序被逐个移除。
(3)卸载MySQL及其组件的顺序
注: 此处需要按依赖顺序逐个移除,否则会出现依赖包丢失或其他异常情况。
使用命令rpm -e --nodeps {-file-name}
进行移除操作:
<span style="color:#000000"><code>rpm -e –-nodeps qt-mysql<span style="color:#4f4f4f">-</span><span style="color:#006666">4.6</span><span style="color:#006666">.2</span><span style="color:#4f4f4f">-</span><span style="color:#006666">26.</span>el6_4<span style="color:#4f4f4f">.</span>x86_64
rpm -e –-nodeps mysql-server<span style="color:#4f4f4f">-</span><span style="color:#006666">5.1</span><span style="color:#006666">.71</span><span style="color:#4f4f4f">-</span><span style="color:#006666">1.</span>el6<span style="color:#4f4f4f">.</span>x86_64
rpm -e –-nodeps mysql-libs<span style="color:#4f4f4f">-</span><span style="color:#006666">5.1</span><span style="color:#006666">.71</span><span style="color:#4f4f4f">-</span><span style="color:#006666">1.</span>el6<span style="color:#4f4f4f">.</span>x86_64
rpm -e –-nodeps mysql-devel<span style="color:#4f4f4f">-</span><span style="color:#006666">5.1</span><span style="color:#006666">.71</span><span style="color:#4f4f4f">-</span><span style="color:#006666">1.</span>el6<span style="color:#4f4f4f">.</span>x86_64
rpm -e –-nodeps mysql<span style="color:#4f4f4f">-</span><span style="color:#006666">5.1</span><span style="color:#006666">.71</span><span style="color:#4f4f4f">-</span><span style="color:#006666">1.</span>el6<span style="color:#4f4f4f">.</span>x86_64 </code></span>
- 1
- 2
- 3
- 4
- 5
4.安装MySQL
(1)解压源文件
您可以将下载好的源文件(rpm-bundle.tar)解压至一个目录中,从而为安装做准备。
使用以下命令解压源文件到当前目录:
<span style="color:#000000"><code>tar -xvf mysql-<span style="color:#006666">5.7</span><span style="color:#006666">.16</span>-<span style="color:#006666">1.</span>el6<span style="color:#009900">.x</span>86_64<span style="color:#009900">.rpm</span>-bundle<span style="color:#009900">.tar</span></code></span>
- 1
(2)安装MySQL安装顺序
使用命令rpm -ivh {-file-name}
进行安装操作:
<span style="color:#000000"><code>rpm -ivh mysql-community-common<span style="color:#4f4f4f">-</span><span style="color:#006666">5.7</span><span style="color:#006666">.16</span><span style="color:#4f4f4f">-</span><span style="color:#006666">1.</span>el6<span style="color:#4f4f4f">.</span>x86_64<span style="color:#4f4f4f">.</span>rpm
rpm -ivh mysql-community-libs<span style="color:#4f4f4f">-</span><span style="color:#006666">5.7</span><span style="color:#006666">.16</span><span style="color:#4f4f4f">-</span><span style="color:#006666">1.</span>el6<span style="color:#4f4f4f">.</span>x86_64<span style="color:#4f4f4f">.</span>rpm
rpm -ivh mysql-community-libs-compat<span style="color:#4f4f4f">-</span><span style="color:#006666">5.7</span><span style="color:#006666">.16</span><span style="color:#4f4f4f">-</span><span style="color:#006666">1.</span>el6<span style="color:#4f4f4f">.</span>x86_64<span style="color:#4f4f4f">.</span>rpm
rpm -ivh mysql-community-client<span style="color:#4f4f4f">-</span><span style="color:#006666">5.7</span><span style="color:#006666">.16</span><span style="color:#4f4f4f">-</span><span style="color:#006666">1.</span>el6<span style="color:#4f4f4f">.</span>x86_64<span style="color:#4f4f4f">.</span>rpm
rpm -ivh mysql-community-server<span style="color:#4f4f4f">-</span><span style="color:#006666">5.7</span><span style="color:#006666">.16</span><span style="color:#4f4f4f">-</span><span style="color:#006666">1.</span>el6<span style="color:#4f4f4f">.</span>x86_64<span style="color:#4f4f4f">.</span>rpm</code></span>
- 1
- 2
- 3
- 4
- 5
注:
i-install
安装;v-verbose
进度条;h-hash
哈希校验
5.登录并创建MySQL密码
安装完后,使用命令service mysqld start
启动MySQL服务。
由于MySQL5.7.4之前的版本中默认是没有密码的,登录后直接回车就可以进入数据库,进而进行设置密码等操作。其后版本对密码等安全相关操作进行了一些改变,在安装过程中,会在安装日志中生成一个随机密码。
使用以下命令:
<span style="color:#000000"><code><span style="color:#000088">grep</span> <span style="color:#009900">'temporary password'</span> /var/<span style="color:#000088">log</span>/mysqld.<span style="color:#000088">log</span></code></span>
- 1
即可查询到类似于如下的一条日志记录:
2017-03-02T14:53:02.179626Z 1 [Note] A temporary password is generated for root@localhost:
!(z%ehjw4*PZ
记录中的类似于最后绿色部分的字符串即为生成的随机密码。
此时,使用MySQL生成的随机密码就能够正常登录:
使用如下命名:
<span style="color:#000000"><code>mysql -uroot -p !(z<span style="color:#4f4f4f">%ehjw4</span><span style="color:#4f4f4f">*PZ</span></code></span>
- 1
登录成功后,请立即修改您的密码。
注: 如果没有修改密码,系统将会提示错误:在
"ALTER USER"
操作前不会执行其他操作;并且确保修改之后的密码的安全程度能够满足MySQL的要求。推荐数字、字母和特殊符号混用。
执行以下操作配置root
用户的密码:
<span style="color:#000000"><code>mysql<span style="color:#4f4f4f">></span> ALTER USER <span style="color:#009900">'root'</span>@<span style="color:#009900">'localhost'</span> IDENTIFIED <span style="color:#000088">BY</span> <span style="color:#009900">'mysql5.7@database.com'</span>;
Query OK, <span style="color:#006666">0</span> <span style="color:#000088">rows</span> affected (<span style="color:#006666">0.00</span> sec)</code></span>
- 1
- 2
到此,基本的安装与密码配置已经结束。
另:如果想要修改密码的话,可以执行以下语句:
<span style="color:#000000"><code><span style="color:#000088">update</span> mysql.<span style="color:#000088">user</span> <span style="color:#000088">set</span> authentication_string=password(<span style="color:#009900">'mysql5.7@database.com'</span>) <span style="color:#000088">where</span> <span style="color:#000088">user</span>=<span style="color:#009900">'root'</span>;</code></span>
- 1
注: 从MySQL5.7.6开始,
mysql.user
表中存储密码的字段不再是password
,而是authentication_string
。