详解MySQL8.0.18在Linux上安装与配置过程
1. 下载MySQL8.0.18安装包
首先需要到MySQL官方网站上下载MySQL的安装包。下载和Linux系统与位数相对应的安装包,如:
$ wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
2. 解压安装包
下载完成后,我们需要解压缩安装包。使用以下命令进行解压缩:
$ tar xvf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
3. 移动解压后的文件到目标目录
解压缩后,将MySQL解压后的文件夹移动到一个比较规范的目录中,如:
$ mv mysql-8.0.18-linux-glibc2.12-x86_64 /usr/local/mysql
注意:如果移动到其它目录,应该根据实际情况,修改权限或者设置软链接。
$ cd /usr/local
$ chown -R mysql:mysql mysql
$ ln -s mysql-8.0.18-linux-glibc2.12-x86_64 mysql
4. 创建用户组和用户
MySQL需要使用一个单独的用户来运行,并且需要这个用户有操作MySQL所在目录和文件的权限。
$ groupadd mysql
$ useradd -r -g mysql -s /bin/false mysql
$ cd /usr/local/mysql
$ chown -R mysql:mysql .
5. 初始化MySQL
进行MySQL的初始化
$ bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
6. 启动MySQL服务器
启动MySQL实例,使用以下命令进行启动
$ bin/mysqld_safe --user=mysql &
7. 登录MySQL
我们已经成功启动了MySQL服务器实例,下面可以使用以下命令登录MySQL:
$ bin/mysql -uroot -p
8. 修改MySQL的root用户密码
默认情况下,MySQL会生成一个随机密码,需要通过下面的命令修改root用户的密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
9. 配置远程访问
MySQL默认只允许本地连接。如果需要允许远程连接,需要对MySQL进行配置。找到MySQL配置文件:/usr/local/mysql/mysql.conf.d/mysqld.cnf
修改以下内容:
bind-address = 0.0.0.0
这样就允许从任何IP地址访问MySQL。
10. 配置防火墙
如果系统有防火墙,还需要对防火墙进行配置,允许来自其它主机的MySQL访问。
如果使用uFW,则可以使用以下命令允许MySQL端口:
$ sudo ufw allow from <IP地址> to any port 3306
示例说明
示例 1. 初始化MySQL
$ bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
该命令将为MySQL创建默认的初始系统表。在这个阶段做两件事:
- 创建MySQL系统表并把它们存储在datadir的子目录中。
- 创建一个初始的root用户帐户,该帐户没有密码。
示例 2. 修改MySQL的root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
这个命令将修改root用户的密码为new_password,同时使用mysql_native_password身份认证插件进行身份认证。
至此,我们完成了MySQL8.0.18在Linux上的安装和配置,你已经能够愉快地使用MySQL数据库了。