Linux安装mysql教程

安装之前需要先卸载mysql

1.1、下载压缩包

1 [root@guohaien package]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

其中下载地址的获取方法如下所示

1、打开mysql官网

2、按下图所示的步骤点击

 

3、右键下图标记位置,复制下载地址

1.2、给mysql目录创建一个用户组和用户,并在mysql目录下创建一个data目录,具体的操作如下所示

1 [root@guohaien soft]# groupadd mysql
2 [root@guohaien soft]# useradd -g mysql -d /soft/mysql mysql
3 [root@guohaien soft]# cd mysql
4 [root@guohaien mysql]# mkdir data

1.3、先解压包,后进入文件夹mysql-5.7.25-linux-glibc2.12-x86_64,将里面的内容移动到上面创建的mysql目录下,并删除该文件夹,最后进入到mysql目录中,具体的操作顺序如下所示

1 [root@guohaien package]# tar zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
2 [root@guohaien package]# cd mysql-5.7.25-linux-glibc2.12-x86_64
3 [root@guohaien mysql-5.7.25-linux-glibc2.12-x86_64]# mv * /soft/mysql
4 [root@guohaien mysql-5.7.25-linux-glibc2.12-x86_64]# cd ..
5 [root@guohaien package]# rm -rf mysql-5.7.25-linux-glibc2.12-x86_64
6 [root@guohaien package]# cd ../mysql

1.4、初始化数据库,初始化的时候会生成一个随机密码,需要记录下来,后面会用到,其中密码在如下图标志的位置

初始化是可能会出现以下问题

其中一种输出是如下所示

./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

这是因为没有安装libaio,只需要执行如下命令即可

1 [root@guohaien mysql]# yum install -y libaio

还有可能输出如下结果,这是因为data目录不为空,只需要进入到data目录执行rm -rf *

2019-03-19T06:04:15.345713Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-03-19T06:04:15.347456Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2019-03-19T06:04:15.347485Z 0 [ERROR] Aborting

1.5、修改mysql.server文件中的basedir和datadir的值,一下是修改文件的命令,和修改的位置

1 [root@guohaien mysql]# vim support-files/mysql.server

修改完成按Esc,然后输入wq退出

1.6、创建配置文件

给默认的my.cnf文件备份

1 [root@guohaien mysql]# cp /etc/my.cnf /etc/my.cnf.bak

可以将my.cnf文件修改为如下所示

[mysqld]
basedir=/soft/mysql
datadir=/soft/mysql/data
character_set_server=utf8
init_connect='SET NAMES utf8'
[client]
default-character-set=utf8

1.7、启动mysql服务

[root@guohaien mysql]# ./support-files/mysql.server start

若输出以上结果则启动成功

可以通过如下步骤改变启动的方法,并设置为开机自启动

1 [root@guohaien mysql]# cp support-files/mysql.server /etc/init.d/mysqld
2 [root@guohaien mysql]# systemctl enable mysqld
3 mysqld.service is not a native service, redirecting to /sbin/chkconfig.
4 Executing /sbin/chkconfig mysqld on

修改后的mysql服务的启动命令有两种为

[root@guohaien mysql]# service mysqld start
[root@guohaien mysql]# systemctl start mysqld

其中关闭和重启服务只需要将start改为stop和restart即可

1.8、修改登录密码

[root@guohaien mysql]# ./bin/mysqladmin -u root -p password
Enter password: 
New password: 
Confirm new password: 
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

先输入原始密码,在输入两次新密码(其中原始密码即为上面生成的那个随机密码)

也可以使用如下命令修改密码

1 [root@guohaien mysql]# ./bin/mysqladmin -uroot -p'原始密码' password '新密码'

设置完成后就能使用新密码登录数据库

 1 [root@guohaien mysql]# ./bin/mysql -u root -p
 2 Enter password: 
 3 Welcome to the MySQL monitor.  Commands end with ; or \g.
 4 Your MySQL connection id is 4
 5 Server version: 5.7.25 MySQL Community Server (GPL)
 6 
 7 Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
 8 
 9 Oracle is a registered trademark of Oracle Corporation and/or its
10 affiliates. Other names may be trademarks of their respective
11 owners.
12 
13 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
14 
15 mysql> 

可以给登录服务创建一个软链接

[root@guohaien mysql]# ln -s /soft/mysql/bin/mysql /usr/bin/mysql

这样就能将上面的./bin/mysql 替换为mysql

1.9、mysql远程授权

目前只能在该服务器上登录mysql,远程并不能访问,登录mysql后执行如下sql

mysql> grant all privileges on *.* to 'root'@'%' identified by '密码';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

以上即为mysql5.7在centos7.6 64位系统下的安装及配置

2.1、关闭mysql服务

1 [root@guohaien /]# service mysqld stop

2.2、检查是否有rpm包,若是没有用rpm安装过mysql,应该就没有,若是有的话就要删除

检查的命令

1 [root@guohaien /]# rpm -qa|grep -i mysql

删除的命令

1 [root@guohaien /]# rpm -e 包名

有时候会有依赖无法删除,可以用命令

1 root@guohaien /]# rpm -e --nodeps 包名

2.3、检查是否有mysql相关目录或文件,若有则删除

检查的命令

1 [root@guohaien /]# find / -name mysql

删除的命令

1 [root@guohaien /]# rm -rf 目录或文件

2.4、删除mysql用户和分组

删除用户命令

1 [root@guohaien /]# userdel mysql

删除分组命令

1 [root@guohaien /]# groupdel mysql

卸载完成后就可以开始安装mysql

posted @ 2019-03-19 15:45  回忆成长  阅读(1013)  评论(0编辑  收藏  举报