CentOS下安装MySQL 5.6
MySQL是一个广泛使用的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品,MySQL在Web应用方面表现尤为出色,是最流行的关系型数据库管理系统之一,本文将详细介绍如何在CentOS环境下安装MySQL 5.6版本。
安装步骤
1、检查是否已安装MySQL:
在安装MySQL之前,需要检查系统是否已经安装了MySQL或MariaDB(MySQL的一个分支),可以使用以下命令查看:
```bash
rpm qa | grep mysql
rpm qa | grep mariadb
```
如果已安装,需要先卸载它们:
```bash
rpm e nodeps mysql
rpm e nodeps mariadBLibs5.5.353.el7.x86_64
```
2、下载MySQL安装包:
根据系统的发行版本和位数选择相应的MySQL安装包,对于CentOS 7的64位系统,可以从MySQL官网下载对应版本的安装包。
使用wget
命令下载:
```bash
cd /opt
wget https://cdn.mysql.com//Downloads/MySQL5.6/mysql5.6.44linuxglibc2.12x86_64.tar.gz
```
3、解压并安装MySQL:
将下载的文件解压到/opt/soft
目录下,然后重命名为mysql
并移动到/usr/local
目录下:
```bash
tar zxvf mysql5.6.44linuxglibc2.12x86_64.tar.gz
mv mysql5.6.44linuxglibc2.12x86_64 mysql
mv mysql /usr/local/mysql
```
4、创建用户组及用户:
创建MySQL专用的用户组和用户:
```bash
groupadd mysql
useradd r g mysql mysql
```
5、复制并编辑配置文件:
将MySQL安装包中的配置文件复制到/etc
目录下,并进行必要的编辑:
```bash
cp /usr/local/mysql/supportfiles/mydefault.cnf /etc/my.cnf
cd /etc
vi my.cnf
```
配置文件内容示例如下:
```ini
[mysqld]
port = 3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
max_connections=200
Charactersetserver=utf8
defaultstorageengine=INNODB
max_allowed_packet=16M
lower_case_table_names=1
```
6、赋权并初始化数据库:
修改MySQL文件的所属用户和组,并执行初始化操作:
```bash
chown R mysql.mysql /usr/local/mysql
/usr/local/mysql/scripts/mysql_install_db verbose user=mysql defaultsfile=/etc/my.cnf basedir=/usr/local/mysql datadir=/usr/local/mysql/data
```
如果初始化过程中提示缺少Perl模块,可以安装autoconf
库来解决。
7、注册服务并配置环境变量:
将MySQL服务添加到系统服务列表中,并设置开机启动:
```bash
cp /usr/local/mysql/supportfiles/mysql.server /etc/init.d/mysqld
chkconfig add mysqld
chkconfig mysqld on
```
将MySQL的bin目录添加到环境变量中:
```bash
export PATH=$PATH:/usr/local/mysql/bin
```
8、启动MySQL服务并验证:
启动MySQL服务并检查端口是否监听:
```bash
service mysqld start
lsof i:3306
```
使用MySQL客户端登录并测试:
```bash
mysql uroot p
```
常见问题解答(FAQs)
1、如何更改MySQL的root密码?
登录MySQL后,使用以下命令更改root用户的密码:
```sql
set password for root@localhost = password('新密码');
```
退出MySQL客户端,重新登录以验证新密码是否生效。
2、如何开启MySQL的远程访问权限?
登录MySQL后,使用以下命令授予root用户远程访问权限:
```sql
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
```
确保防火墙开放了MySQL的端口(默认为3306),或者关闭防火墙以允许所有连接。