【Linux系统安装、配置mysql数据库详细过程,亲自部署成功后分享mysql安装过程,ARM架构安装、配置 mysql,包细节,各种系统架构和版本都适用!】
核心问题
我尝试网上各种办法在 Linux 系统上安装mysql,最后一运行总是报错,服务跑不起来,经过数次实验和尝试,最终发现了问题,并解决,希望大家以此为戒,以此为例。
导致mysql安装失败,或运行失败最核心的问题就是文件夹权限问题,大部分文件夹可能权限都对,但我总是有一个存放 mysql.sock 文件的文件夹权限无法 用 mysql用户访问,导致启动失败。
电脑配置:ARM64 架构,统信UOS 系统,安装 mysql9 版本。
如果你的架构和系统和我不一样,也能安装,只是可能个别命令不同,例如我是使用 systemctl 启动的mysql服务,你可能需要其它命令。
安装mysql
下载 mysql
去mysql官网下载即可,需要能访问外网的网络。mysql官网 https://dev.mysql.com/downloads/mysql/ ,百度一搜索就能搜到。注意要下载与Linux架构对应版本的压缩包:

例如 我下载的是 mysql-9.5.0-linux-glibc2.28-aarch64.tar.xz
安装
解压
首先将压缩包解压到自定义的位置,此为mysql的安装位置,并在安装目录的文件夹内创建一个 data 文件夹,用于存放 mysql 的数据。例如,我的文件夹结构为 :
/mnt/dream/softs/mysql9 (安装目录)与 /mnt/dream/softs/mysql9/data (数据目录)
创建用户
1 我们创建出 mysql 用户组与用户:
sudo groupadd mysql
sudo useradd -g mysql -s /bin/false mysql
创建 一个名为 mysql 的用户组,在该用户组中创建一个名为 mysql 的用户。
初始化
2 然后对mysql进行初始化:
cd /mnt/dream/softs/mysql9
./bin/mysqld --initialize --user=mysql --basedir=/mnt/dream/softs/mysql9 --datadir=/mnt/dream/softs/mysql9/data
初始化时会产生一个随机生成的初始密码,记住这个密码,后面用于第一次登录mysql 使用。
初始化完成后,mysql 的安装目录中就会多出一些文件夹和文件,这是正常的。
编写配置
3 创建配置文件,在 /etc / my.cnf 位置,mysql能够自动识别该位置,内容如下:
[mysqld]
basedir=/mnt/dream/softs/mysql9
datadir=/mnt/dream/softs/mysql9/data
socket=/mnt/dream/softs/mysql9/mysql.sock
port=3306
explicit_defaults_for_timestamp=true
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
socket=/mnt/dream/softs/mysql9/mysql.sock
上面提到的文件夹和文件,注意修改为你自己的目录。
环境变量
4 配置环境变量:对 /etc / profile 修改:
# mysql
export PATH=$PATH:/mnt/dream/softs/mysql9/bin:/mnt/dream/softs/mysql9/lib
export PATH
注意修改为你自己的文件夹位置。
然后使用 source /etc/profile 命令刷新 环境变量。
创建服务
5 创建 mysql 服务:
sudo cp -a /mnt/dream/softs/mysql9/support-files/mysql.server /etc/init.d/mysqld
sudo chmod +x /etc/init.d/mysqld
# 这样就能 以 service mysql start 的方式启动和关闭mysql服务,刚配置上可使用 systemctl daemon-reload 刷新一下
注意权限
6 最关键的,把 和mysql沾边的所有位置都设置为mysql用户组和mysql用户,包括如下位置:
① /mnt/dream/softs/mysql9/mysql.sock # 前面对 mysql9 整个文件夹配置好以后,应该没问题,但如果没有使用这个位置,就要注意修改。
② /etc/my.cnf
③ /etc/mysql/
④ /var/log/mysqld.log # mysql 日志相关文件,默认在该位置
⑤ /var/log/mysql/ # mysql 日志相关文件,默认在该位置
使用 sudo chown -R mysql:mysql 文件夹或文件 修改为 mysql 用户可以操作的权限。
问题
以下问题,mysql 无法启动,应该都是权限不足导致的:
test@test-PC:/usr/local/mysql$ service mysql start # 想启动,报错如下
Job for mysqld.service failed because the control process exited with error code.
See "systemctl status mysqld.service" and "journalctl -xe" for details.
如果直接使用命令:mysql 然后就报错如下:
# ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/usr/local/mysql/mysql.sock' (2)
# 这样的错误,大概率是mysql没有启动,启动后它会创建出对应的 sock文件,还要考虑这个文件所在的位置是否是 mysql 的权限。
再报错,就仔细想想有什么文件夹引用了,或者间接的用到了,但是没有修改权限。
启动服务
service mysql start
可使用以下命令查看mysql是否正常启动:
ps -ef | grep mysql
修改初始密码
在 mysql 初始化时产了随机密码,使用该随机密码登录mysql :
mysql -uroot -p&cx_zsa%x23*
然后修改初始密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
更多推荐



所有评论(0)