【记录】手动安装MySQL5.7
本文发布于338天前,最后更新于338天前,其中的信息可能有所发展或是发生改变。如有疑问请联系邮箱:admin@yemengstar.com。

1.参考文章

2.下载MySQL5.7版本Linux版

进入MySQL官网:MySQL Download MySQL Community Server

选择5.7.43版本下载:

Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive
(mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz)	

3.复制压缩包到linux服务器进行解压

下载完成后,使用SFTP上传至服务器中(任意一文件夹即可,后续将移动到指定位置)。

然后解压

tar -zxvf mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz

4.解压好后把MySQL移动到指定位置并重命名

mv mysql-5.7.43-linux-glibc2.12-x86_64 /usr/local/mysql

5.创建MySQL用户组和用户并修改权限

groupadd mysql
useradd -r -g mysql mysql

6.创建数据目录并赋予权限

mkdir -p  /data/mysql
chown mysql:mysql -R /data/mysql

7.配置my.cnf文件

vim /etc/my.cnf

修改文件内容

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
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_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

8.初始化数据库

进入MySQL的bin目录下执行

cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

在这里执行初始化的时候会报错,可能会缺少libaio.so.5文件,根据以下代码即可修复这个问题

apt-get install libncurses5-dev  libncurses5   # 适用于Ubuntu系统

此时你再执行初始化数据库会报错,不要慌,那是因为你刚刚执行这个命令的时候在data目录下已经有日志了,先把这个目录下的文件清空,再重新执行即可成功!

9.查看MySQL密码

cat /data/mysql/mysql.err

执行此命令之后在文件的最后位置会有对应的密码,请一定牢记!!!这个文件只可以访问一次。

[Note] A temporary password is generated for root@localhost: yourPassword

10.修改启动文件

先将mysql.server放置到/etc/init.d/mysql中

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

查看启动项

cat /etc/my.cnf

找到其中的

basedir=/usr/local/mysql
datadir=/data/mysql

然后编辑mysql启动文件

vim /etc/init.d/mysql

basedir=
datadir=

改成

basedir=/usr/local/mysql
datadir=/data/mysql

然后退出保存即可。

11.启动MySQL

启动mysql服务

service mysql start

查看mysql启动进程

ps -ef|grep mysql 

12.修改root密码

./mysql -u root -p   #bin目录下执行哦
root@RainYun-uq34Ijpz:/usr/local/mysql/bin# ./mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.

登陆成功之后执行如下操作:

SET PASSWORD = PASSWORD('123456');        // 设置新的密码
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;    
FLUSH PRIVILEGES;        

此时你的MySQL已经基本配置完成啦~

在这里执行登录MySQL的时候可能会报错,可能会缺少 libaio.so.5 文件,根据以下代码即可修复这个问题:

apt-get install libncurses5-dev libncurses5  #适用于Ubuntu系统

如果在执行重置密码的时候出现以下错误

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

你可以修改配置文件

vim /etc/my.cnf

在[mysqld]后添加skip-grant-tables(登录时跳过权限检查)

skip-grant-tables

然后重启MySQL服务即可。

systemctl restart mysql

如果报

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

输入

flush privileges;

会显示

Query OK, 0 rows affected (0.01 sec)

输入

set password for 'root'@'localhost'=password('Admin123@qwe');
本文为夜梦星尘原创文章。
文章作者:夜梦星尘
文章链接:【记录】手动安装MySQL5.7
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自夜梦星尘
支持作者:夜梦星尘的爱发电
上一篇
下一篇