下载地址 点击进入
下载文件后上传至liunx服务器或直接使用 wget指令直接下载
wget -i -c https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.39-1.el7.x86_64.rpm-bundle.tar
tar -xvf mysql-5.7.39-1.el7.x86_64.rpm-bundle.tar
在安装执行 rpm 安装包之前先下载 openssl-devel 插件,因为 mysql 里面有些 rpm 的安装依赖于该插件,如果以安装请省略改步骤。
yum install openssl-devel
查看是否安装 mariadb 如果有需要卸载,否则会安装时会发送冲突
rpm -qa | grep mariadb
卸载
yum -y remove mariadb-libs-5.5.56-2.el7.x86_64
安装devel 插件后,安装使用shell 脚本遍历安装 mysql的rpm包。
创建脚本
vim install.sh
将下面复制到install.sh ,退出保存
path=/usr/local/mysql #path为mysql rmp安装包文件夹路径,需要根据自身目录更改
cd ${path}
for file in $(ls ./)
do
rpm -ivh ${path}/${file} --nodeps --force #防止依赖冲突无法安装
done
运行shell 脚本
bash install.sh
若不是使用shell 脚本也可以 单独使用 rpm -ivh 运行安装包
运行Mysql服务指令
systemctl start mysqld
相关命令
#启动 MySQL 服务
systemctl start mysqld
#重启 MySQL 服务
systemctl restart mysqld
#关闭 MySQL 服务
systemctl stop mysqld
由于第一次启动mysql 没有设置密码,在初始化过程中,MySQL自动生成临时密码在log日志中,需要进行查看。
cat /var/log/mysqld.log |grep "temporary password"
mysql -uroot -p
#输入password
进入mysql后由于使用的是临时密码不可以进行数据表的操作,需要更改临时密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '!QAZ2wsx';
如果需要root 用户远程连接mysql,需要更改root 访问权限
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;
在本次安装由于是阿里云contes7新系统 , 缺少很多依赖
错误 libaio.so.1: cannot open shared object file: No such file or directory
Aug 07 18:24:40 root mysqld_pre_systemd[2750]: /usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
Aug 07 18:24:40 root mysqld[2773]: /usr/sbin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
Aug 07 18:24:40 root systemd[1]: mysqld.service: control process exited, code=exited status=127
Aug 07 18:24:40 root systemd[1]: Failed to start MySQL Server.
是由于缺少依赖, 安装libaio
yum install -y libaio
初始化错误–initialize specified but the data directory has files in it. Aborting.
Aug 07 18:31:32 root mysqld_pre_systemd[15439]: 2022-08-07T10:31:32.652973Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation
Aug 07 18:31:32 root mysqld_pre_systemd[15439]: 2022-08-07T10:31:32.655053Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
Aug 07 18:31:32 root mysqld_pre_systemd[15439]: 2022-08-07T10:31:32.655089Z 0 [ERROR] Aborting
Aug 07 18:31:33 root mysqld[15463]: Initialization of mysqld failed: 0
Aug 07 18:31:33 root systemd[1]: mysqld.service: control process exited, code=exited status=1
Aug 07 18:31:34 root systemd[1]: Failed to start MySQL Server.
解决方案: 首先进入初始化文件目录
cd /var/lib/mysql
清理文件夹
rm -rf *
修Mysql配置文件
vim ./etc/my.cnf
/usr/sbin/mysqld --initialize --user=mysql