做数据工程师多年经常需要自己安装mysql数据库虽然不难但每次都没系统性地记录于是补充了这篇。安装包我喜欢绿色版手工配置的方式通过网盘分享的文件mysql-8.0.31-el7-x86_64.tar.gz链接: https://pan.baidu.com/s/1uHfylb-NIwkadF1x1coT0g 提取码: 2e7e部署把安装包上传到服务器在root用户下操作创建用户和用户组groupadd mysql useradd -r -g mysql mysql系统目录设计##存放数据 mkdir -p /data/mysql chown -R mysql:mysql /data/mysql修改mysql配置文件vi /etc/my.cnf ############## [mysqld] bind-address0.0.0.0 port3306 usermysql basedir/usr/local/mysql datadir/data/mysql socket/tmp/mysql.sock log-error/data/mysql/mysql.err pid-file/data/mysql/mysql.pid #character config character_set_serverutf8mb4 symbolic-links0 explicit_defaults_for_timestamptrue解压安装包并移动到指定目录gunzip mysql-8.0.31-el7-x86_64.tar.gz tar -xf mysql-8.0.31-el7-x86_64.tar mv mysql-8.0.31-el7-x86_64 /usr/local/mysql初始化mysql目录记住初始密码注意这里的mysqld是固定的不要自己个性化命名见《修改mysql配置文件》否则可能报错mysql: [ERROR] unknown variable basedir/usr/local/mysql../mysqld --defaults-file/etc/my.cnf --basedir/usr/local/mysql/ --datadir/data/mysql/ --usermysql --initialize ##找到初始密码 cat /data/mysql/mysql.err初始密码所在文件大概长这样2026-09-25T02:06:53.788725Z 0 [Warning] [MY-011070] [Server] Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it is deprecated and will be removed in a future release.2026-09-25T02:06:53.789391Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.31) initializing of server in progress as process 140752026-09-25T02:06:53.833119Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.2026-09-25T02:06:54.999416Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.2026-09-25T02:06:58.810116Z 6 [Note] [MY-010454] [Server] A temporary password is generated for rootlocalhost:这个位置就是初始密码启动MySQL服务mkdir /var/log/mariadb touch /var/log/mariadb/mariadb.log chown -R mysql:mysql /var/log/mariadb/ ##没有上面几句启动服务可能会报错 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql service mysql start可能得报错Starting MySQL.2026-09-25T02:13:26.884195Z mysqld_safe error: log-error set to /var/log/mariadb/mariadb.log, however file dont exists. Create writable for user mysql.ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).首次登录/usr/local/mysql/bin/mysql -u root -p然后输入刚刚获取到的初始密码修改密码WITH mysql_native_password这一句是为了适配某些很老的终端连接器例如Navicat12不是必要的。注意这次修改指定localhost就好因为现在只有localhost这个用户暂时还没法指定%或其他IP。否则可能报错ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 要修改的密码; -- 还是在mysql命令下 #选择访问mysql库 use mysql #使root能再任何host访问改为% update user set host % where user root; # 这句很容易忘记 FLUSH PRIVILEGES;使用数据库这时候可以用终端连接器连接到数据库进行操作了## 通用的创建数据库例子 CREATE DATABASE 数据库名称 DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;到这里mysql的安装部署就完工了
阅读完成 · 觉得有帮助?