注:linux系统在安装操作系统时,如果选择了开发工具和兼容库后,一般默认都会安装MySQL服务的部分程序包。如果我们要自定义的安装全新的MySQL服务,就必须先把这些已经安装的程序包都卸载掉。否则,后面这些程序包会给我们带来很多麻烦。
1、查看系统里是否有安装MySQL相关的程序包。
rpm -qa | grep mysql
![](https://i-blog.csdnimg.cn/blog_migrate/7cd327762331c38c4af7ac0b60807ff4.png)
我这里是没有的。可能小伙伴们的系统里会有
2、查看系统里面是否有安装mariadb相关的程序包(mariadb是一种轻量级的MySQL数据库)
rpm -qa | grep mariadb
![](https://i-blog.csdnimg.cn/blog_migrate/4f043ea2262b91ce21d6e590414ae006.png)
我的系统里面有一个相关的程序包
3、把前面两步找出来的程序包都参照如下方法卸载掉即可
rpm -e xxx(程序名)
例如:rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps
![](https://i-blog.csdnimg.cn/blog_migrate/c4ab2c25e6ee3b7b4152fe9e34895117.png)
然后,再执行1和2步的方法查看,是否已经删除完全了
4、下载MySQL的安装包,去官网下载。MySQL的安装方法,在版本上区别很大。不同的版本安装方法不一样的。但是以我的经验,新一点的版本区别不太大
官网下载地址:https://downloads.mysql.com/archives/community/
我选择的如下图的版本
![](https://i-blog.csdnimg.cn/blog_migrate/d9ac718c3c0731744a1d6c2a5b779d57.png)
5、然后上传到服务器里面。这里不用过多的说明。您可以使用xshell工具或其他的软件。上传的目录可以随意找个临时目录即可。
6、然后对上传的文件进行解压。
tar -zxvf xxx(程序名)
例:tar -zxvf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
![](https://i-blog.csdnimg.cn/blog_migrate/1f698a3faf754f2203aab1dca60b81f8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a11f42430e7a81c154324df37c9a8567.png)
上图可以看到,解压出了一个文件夹。
7、我们需要把这个解压出来的文件夹拷贝到/usr/local/目录下,并取名叫mysql。没有版本信息。
cp -R mysql-5.7.35-linux-glibc2.12-x86_64 /usr/local/mysql 因为是文件夹,所有拷贝时加上参数 -R ,后面直接给出拷贝到新目录后的目录名mysql
![](https://i-blog.csdnimg.cn/blog_migrate/215eb4f9654cbd1c3bc90cabeb27a88f.png)
8、查看系统里是否有mysql用户和组,可以使用 groups mysql 命令查看。
![](https://i-blog.csdnimg.cn/blog_migrate/d3107b349b74c6ce777ebb84c4afcd0d.png)
我们的系统里面没有,所以,要创建。创建用户和组使用useradd命令合groupadd命令
groupadd mysql && useradd -r -g mysql mysql
![](https://i-blog.csdnimg.cn/blog_migrate/59751f80937c9a5db2134ee7bb63d8fd.png)
9、创建我们数据仓库。(即自定义数据库存储表的目录)并给予mysql用户权限
mkdir -p /data/mysql
chown mysql:mysql -R /data/mysql
![](https://i-blog.csdnimg.cn/blog_migrate/370ba38cf9c2a38f03b5d89ce530da19.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f844bae4d0c7266cf8a2be93b88185d8.png)
10、修改或创建/etc/my.cnf文件。如果以前安装过MySQL可能就会有这个文件,我们修改为如下内容。如果没有就创建这个名字的文件,并写入如下内容。
vim /etc/my.cnf
![](https://i-blog.csdnimg.cn/blog_migrate/671f523f11d7a8bc4d4ce07c970ce60e.png)
datadir是数据存储的目录
basedir是数据库的基本目录
socket是数据库运行的接口
log-error是错误日志的目录
character是指编码
11、初始化我们的MySQL数据库的基本参数。
cd /usr/local/mysql/bin 进入MySQL自带的可执行程序的目录
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
![](https://i-blog.csdnimg.cn/blog_migrate/3b5d4f5b00aa02b7d420dd7c75390ef5.png)
12、查看初始登录密码
cat /data/mysql/mysql.err
![](https://i-blog.csdnimg.cn/blog_migrate/20b431cbc39b089d86c987e401a6abc9.png)
上图显示,在结尾的root@localhost:后面的部分,就是密码。我们可以鼠标复制一下。
13、启动MySQL服务。
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 把启动文件拷贝到init.d目录,使得以后启动服务方便。
service mysql start 启动MySQL服务
![](https://i-blog.csdnimg.cn/blog_migrate/9409f0fdba3d62e30395a1e47da599ab.png)
14、登录MySQL,并修改密码。
/usr/local/mysql/bin/mysql -u root -p 目前要使用登录命令mysql,还需要进入/usr/local/mysql/bin/目录
Enter password: <这里粘贴刚才复制的初始密码>回车即可登录
![](https://i-blog.csdnimg.cn/blog_migrate/75468aaa19de68352b979701a7777431.png)
看到了mysql> 标识符,就代表登录成功了。
下面修改密码。修改密码有两个办法。可以在/etc/my.cnf文件的[mysqld]下面添加一行skip-grant-tables,然后重启mysql,就可以免密登录mysql。如果您不想这样,怕不安全,可以执行修改密码操作。
![](https://i-blog.csdnimg.cn/blog_migrate/d235e20ded87562d95deab7db3b75882.png)
service mysql retart
或者修改密码:
set password for 用户名@localhost=password('新密码');
例:set password for root@localhost=password('123456');
![](https://i-blog.csdnimg.cn/blog_migrate/2e04f814946fa300273c57894a92c51d.png)
刷新规则:flush privileges
退出mysql,使用新密码登录。
![](https://i-blog.csdnimg.cn/blog_migrate/de368d990d11f725cb49ef4c38c01e43.png)
新密码登录成功。
15、到此,mysql已经安装完成了。下面我们可以测试一下,创建一个数据库试试。
create database students;
![](https://i-blog.csdnimg.cn/blog_migrate/8e70500ac0462147fd20f65f629e3d6a.png)
创建成功。
16、谢谢大家!!让我们一起学习进步吧。