Loading... ## 下载并解压 从官网下载压缩包,上传到服务器,解压到服务器的 /usr/local/mysql 目录 [MySQL :: Download MySQL Community Server (Archived Versions)](https://downloads.mysql.com/archives/community/) 我这里使用的 MySQL 版本是 5.7.44 : https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz ```bash mkdir /home/soft/ cd /home/soft wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz tar zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ mv /usr/local/mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql ``` ## 创建用户,并设置权限 ```bash # 创建一个 MySQL 运行用户 useradd mysql -M -s /sbin/nologin # 创建数据与日志目录 mkdir -p /home/mysql/data mkdir -p /home/mysql/log # 设置所有者与权限 chown mysql:mysql /home/mysql -R chown mysql:mysql /usr/local/mysql -R chmod 744 /home/mysql -R chmod 755 /usr/local/mysql -R ``` ## 增加环境变量 ```bash vim /etc/profile.d/mysql.sh # 写入以下一行 export PATH=$PATH:/usr/local/mysql/bin source /etc/profile ``` ## 创建 MySQL 配置文件 ```bash mv /etc/my.cnf /etc/my.cnf.bak # 如果有自带这个配置文件,备份一下 vim /etc/my.cnf # 写入以下内容 [mysqld] user = mysql basedir = /usr/local/mysql/ datadir = /home/mysql/data socket = /tmp/mysql.sock port = 3306 server_id = 1 max_allowed_packet = 1000M max_connections=65535 open_files_limit=65535 skip-name-resolve character-set-server=utf8 collation-server=utf8_general_ci [client] socket = /tmp/mysql.sock ``` 配置完需要设置一下权限:`chown mysql:mysql /etc/my.cnf` ## 设置文件描述符限制 ```bash vim /etc/security/limits.conf # 添加以下内容 mysql hard nofile 65535 mysql soft nofile 65535 ``` ## 初始化 MySQL 数据库 ```bash mysqld --initialize --user=mysql ``` 临时密码会在这一步生成,注意记录: ``` [Note] A temporary password is generated for root@localhost: UpO,JB>wZ1La ``` ## 创建启动服务 ```bash vim /etc/systemd/system/mysqld.service # 写入以下内容 [Unit] Description=MySQL Server Documentation=man:mysqld(5.7) Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] Type=simple User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE=65535 Restart=on-failure RestartSec=10 ``` ## 增加防火墙放行规则 ``` iptables -I INPUT -p tcp --dport 3306 -j ACCEPT ``` ## 启动服务 ```bash # 设置开机启动 systemctl enable mysqld # 启动 MySQL 服务 systemctl start mysqld # 查看服务状态 systemctl status mysqld ``` ## 修改临时密码 使用临时密码登录 MySQL 控制台 `mysql -uroot -p` 修改密码 ```sql SET PASSWORD='xxxxxxxxxx'; ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; FLUSH PRIVILEGES; ``` 最后修改:2024 年 05 月 10 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏