一、清理环境
1、检查是否已经安装过mysql,执行命令
rpm -qa | grep mysql
如果查出来有安装包,使用如下命令清理
rpm -e --nodeps `rpm -qa | grep mysql`
再次执行查询命令,查看是否删除
2、查询所有Mysql对应的文件夹
whereis mysql
mysql: /usr/bin/mysql /usr/include/mysql
find / -name mysql
/data/mysql
/data/mysql/mysql
删除相关目录或文件
rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql
验证是否删除完毕
whereis mysql
find / -name mysql
3、检查mysql用户组和用户是否存在,如果没有,则创建
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql
useradd -s /sbin/nologin -M -g mysql mysql
二、安装部署mysql-5.7
1.创建mysql目录
mkdir /root/soft
cd /root/soft
2.下载安装包并解压
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
tar -xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /opt/
mv /opt/mysql-5.7.28-linux-glibc2.12-x86_64 /opt/mysql5.7.28/
3.创建软连接到指定目录下并更名
ln -s /opt/mysql5.7.28/ /usr/local/mysql
4.安装mysql5.7的依赖包
yum install -y libaio-devel numactl
5.设置环境变量
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
source /etc/profile
mysql -V
mysql Ver 14.14 Distrib 5.7.43, for Linux (x86_64) using EditLine wrapper
6.创建数据目录,并授权
mkdir /usr/local/mysql/data
mkdir /usr/local/mysql/logs
chown -R mysql:mysql /opt/mysql5.7.28/
chmod -R 755 /usr/local/mysql
7.编译安装并初始化mysql
cd /usr/local/mysql/bin
./mysqld --initialize-insecure --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
8.编辑配置文件my.cnf,添加配置如下
cat >/etc/my.cnf <<'EOF'
[mysqld]
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
server-id=100
log_bin=/usr/local/mysql/logs/mysql-bin
character_set_server=utf8mb4
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
innodb_file_per_table=1
lower_case_table_names=1
gtid-mode=ON
enforce-gtid-consistency=true
log-slave-updates=ON
[mysql]
socket=/usr/local/mysql/mysql.sock
EOF
三、启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
启动服务
systemctl enable mysqld
systemctl restart mysqld
systemctl status mysqld
如果想前台启动
mysqld_safe --defaults-file=/etc/my.cnf
四、开放远程连接
mysql>use mysql;
mysql>select Host,User from user;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
五、修改密码
mysql5.7
mysql>set password for root@localhost = password('yourpass');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql8
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'yourpass';
Query OK, 0 rows affected (0.00 sec)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性