CentOS安装MySQL(tar包方式)详细步骤
下载MySQL安装包
前往MySQL官方站点下载适合自己系统的MySQL版本,本文以mysql5.6.45linuxglibc2.12x86_64.tar.gz
为例进行说明。
下载地址: [MySQL Downloads](https://dev.mysql.com/downloads/mysql/)
上传并解压安装包
将下载的安装包上传到服务器的/home/tools
目录下,然后使用以下命令解压:
tar zxvf mysql5.6.45linuxglibc2.12x86_64.tar.gz mv mysql5.6.45linuxglibc2.12x86_64 mysql5.6.45_3306 mv mysql5.6.45_3306 /usr/local/
配置MySQL服务
在/usr/local/mysql5.6.45_3306/supportfiles
目录下有一个名为mysql.server
的文件,将其复制到/etc/init.d/
目录下,并命名为mysql
:
cp /usr/local/mysql5.6.45_3306/supportfiles/mysql.server /etc/init.d/mysql
编辑/etc/init.d/mysql
文件,修改其中的路径信息为实际安装路径:
vi /etc/init.d/mysql 根据具体情况更改位置信息
修改配置文件my.cnf
创建或编辑/etc/my.cnf
文件,添加以下内容:
[client] port = 3306 defaultcharacterset=utf8 [mysqld] basedir = /usr/local/mysql5.6.45_3306 datadir = /usr/local/mysql5.6.45_3306/data port = 3306 charactersetserver=utf8 default_storage_engine=INNODB sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
初始化MySQL数据目录
进入MySQL安装目录,初始化数据库:
cd /usr/local/mysql5.6.45_3306 ./scripts/mysql_install_db user=mysql basedir=/usr/local/mysql5.6.45_3306 datadir=/usr/local/mysql5.6.45_3306/data
如果执行上述命令时出现错误提示缺少Perl模块,可以通过以下命令安装所需模块:
yum y install perlModuleInstall.noarch
设置用户组和用户权限
创建用户组和用户,并设置相应权限:
groupadd mysql useradd r g mysql mysql chown R mysql:mysql /usr/local/mysql5.6.45_3306/
启动MySQL服务
使用以下命令启动MySQL服务:
service mysql start
登录MySQL并修改密码
初次登录MySQL需要使用随机生成的临时密码,可以通过以下命令查看临时密码:
cat /usr/local/mysql5.6.45_3306/data/*.err | grep 'temporary password'
登录MySQL并修改密码:
/usr/local/mysql5.6.45_3306/bin/mysql u root p ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
设置远程访问权限
为了能够从远程连接MySQL,需要授予相应权限并刷新权限表:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION; FLUSH PRIVILEGES;
确保防火墙开放了3306端口:
firewallcmd permanent addport=3306/tcp firewallcmd reload
设置MySQL开机自启动
使用chkconfig
命令设置MySQL开机自启动:
chkconfig level 345 mysql on chkconfig add mysql
常见问题及解决方法
Q1:如何更改MySQL默认字符集?
A1:可以在my.cnf
文件中的[client]
和[mysqld]
部分添加或修改以下行来设置默认字符集:
defaultcharacterset=utf8mb4 charactersetserver=utf8mb4
Q2:如何允许远程登录MySQL?
A2:除了在MySQL中授予权限外,还需要确保防火墙开放了3306端口,并且bindaddress
设置为0.0.0.0
或指定ip地址。