文章目录

  • 一、准备工作
  • 1、用 **rpm -qa** 命令查看:
  • 2、用 **rpm -e** 命令删除:
  • 二、下载mysql并安装
  • 1、下载
  • 1.进入文件夹:
  • 2.拉取压缩包:
  • 2、解压
  • 1、解压命令:
  • 2、解压后重命名文件夹:
  • 3、进入文件夹,完善目录结构
  • 1、进入mysql目录,新建data文件夹。
  • 1、进入目录
  • 2、新建数据文件夹
  • 4、创建用户和组并授权
  • 1、创建用户和组命令:
  • 2、授权
  • 5、配置环境变量
  • 6、安装依赖包
  • 7、新建mysql的配置文件。
  • 1、新建文件:
  • 2、填充内容
  • 3、填充内容后查看:
  • 7、初始化mysql
  • 1、进入**bin**目录:
  • 2、执行命令初始化:
  • 8、启动mysql服务
  • 1、进入**support-files**目录:
  • 2、启动mysql服务:
  • 3、连接进入数据库:
  • 三、配置开机自启动
  • 1、配置自启动。
  • 2、启动命令。
  • 四、开放mysql远程连接
  • 1、启动mysql服务并进入。
  • 2、切换库,设置,刷新。
  • 3、重启服务
  • 4、开放防火墙端口
  • 1、开放 3306 端口:
  • 2、重启防火墙:
  • 3、查询端口号80 是否开启:
  • 五、修改密码
  • 1、启动mysql服务并进入。
  • 2、切换库,设置,刷新。
  • 3、编辑 `/etc/my.cnf` 注释掉 `skip-grant-tables`
  • 4、重启mysql服务。
  • 5、登录mysql测试。
  • 6、远程连接异常处理。
  • 坑了不少踩,整理一个文档。
  • 亲测有效,完全按照步骤操作。



一、准备工作

查看系统中是否有mysql相关的东西。

1、用 rpm -qa 命令查看:

rpm -qa | grep mysql
rpm -qa | grep mariadb

如果存在则进行步骤2删除。

2、用 rpm -e 命令删除:

删除命令:

rpm -e --nodeps $(rpm -qa | grep mariadb)

删除后再次查看:

rpm -qa | grep mariadb

我这里系统中只有mariadb相关,只做了这个删除。

centos安装的数据库 怎么打开 centos启动数据库_数据库

本次把mysql安装在 **/home** 文件夹

二、下载mysql并安装

1、下载

1.进入文件夹:

命令:

cd /home/

2.拉取压缩包:

命令:

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

注意:压缩包也可以通过百度网盘下载,自己上传到 /home文件夹下:

百度网盘压缩包点我进行下载

下载:

centos安装的数据库 怎么打开 centos启动数据库_数据库_02

下载完成查看:

centos安装的数据库 怎么打开 centos启动数据库_mysql_03

2、解压

1、解压命令:

tar -xvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

2、解压后重命名文件夹:

mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql

centos安装的数据库 怎么打开 centos启动数据库_linux_04

3、进入文件夹,完善目录结构

1、进入mysql目录,新建data文件夹。

1、进入目录
cd mysql
2、新建数据文件夹
mkdir data

centos安装的数据库 怎么打开 centos启动数据库_linux_05

4、创建用户和组并授权

1、创建用户和组命令:

groupadd mysql

useradd -r -g mysql -s /bin/false mysql

id mysql

centos安装的数据库 怎么打开 centos启动数据库_centos安装的数据库 怎么打开_06

2、授权

我们mysql安装在 /home下,data数据也在该目录下,只需授权**/home/mysql**目录即可。

命令:

chown -R mysql:mysql /home/mysql

centos安装的数据库 怎么打开 centos启动数据库_重启_07

5、配置环境变量

编辑配置文件命令:

cat <<EOF>> /root/.bash_profile

然后输入:

export PATH=\$PATH:/home/mysql/bin

回车。

输入:

EOF

回车。

刷新配置文件:

source /root/.bash_profile

查看配置文件:

cat /root/.bash_profile

centos安装的数据库 怎么打开 centos启动数据库_数据库_08

6、安装依赖包

需要安装一下依赖包,不然可能会导致mysql安装失败。

yum -y install autoconf

7、新建mysql的配置文件。

1、新建文件:

touch  /etc/my.cnf

2、填充内容

/etc/my.cnf 文件的内容:

[mysqld]
user=mysql
port=3306
basedir=/home/mysql
datadir=/home/mysql/data
socket=/tmp/mysql.sock
log-error=/home/mysql/data/mysql.log
pid-file=/home/mysql/data/mysql.pid
slow_query_log=on
long_query_time=8
#如果运行的sQL语句没有使用索引,则mysql数据库同样会将这条sQL语句记录到慢查询日志文件中。
log-queries-not-using-indexes
default_storage_engine=InnoDB
innodb_file_per_table = on
#忽略主机名解析,提高访问速度(注意配置文件中使用主机名将不能解析)
skip_name_resolve = on
character-set-server=utf8mb4
query_cache_type=1
query_cache_limit = 2M
query_cache_size = 128M
max_connections = 1000
skip_grant_tables 登录时跳过安全检查
##客户端
[mysql]
socket=/tmp/mysql.sock
default-character-set=utf8mb4
[client]
port=3306
socket=/tmp/mysql.sock
default-character-set=utf8mb4
  • user:刚刚新建的mysql管理用户。
  • basedir:指定 MySQL 安装的绝对路径;
  • datadir:指定 MySQL 数据存放的绝对路径;
  • port:服务端口号,默认为 3306
  • server-id:MySQL 服务的唯一编号,每个 MySQL 服务的 id 需唯一。
  • socket:socket 文件所在目录
  • skip_grant_tables 登录时跳过安全检查

3、填充内容后查看:

cat  /etc/my.cnf

centos安装的数据库 怎么打开 centos启动数据库_mysql_09

7、初始化mysql

1、进入bin目录:

cd /home/mysql/bin

2、执行命令初始化:

mysql_install_db --user=mysql --basedir=/home/mysql/ --datadir=/home/mysql/data/

mysqld -initialize --user=mysql --basedir=/home/mysql/ --datadir=/home/mysql/data/

centos安装的数据库 怎么打开 centos启动数据库_重启_10

8、启动mysql服务

1、进入support-files目录:

cd /home/mysql/support-files/

2、启动mysql服务:

./mysql.server start

如果出现异常:

[root@localhost support-files]# ./mysql.server start
./mysql.server:行239: my_print_defaults: 未找到命令
./mysql.server: 第 259 行:cd: /usr/local/mysql: 没有那个文件或目录
Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)

centos安装的数据库 怎么打开 centos启动数据库_centos安装的数据库 怎么打开_11


处理方式修改 mysql.server 文件:

vi mysql.server

把文件中的默认路径 /usr/local 修改为我们的安装路径 /home

修改前:

centos安装的数据库 怎么打开 centos启动数据库_数据库_12


修改后:

centos安装的数据库 怎么打开 centos启动数据库_重启_13


再次重启数据库:

centos安装的数据库 怎么打开 centos启动数据库_mysql_14

3、连接进入数据库:

mysql -u -root

三、配置开机自启动

1、配置自启动。

执行 命令(在任何目录下都可执行该命令)把我们的mysql启动脚本复制一份:

cp /home/mysql/support-files/mysql.server /etc/init.d/mysql

chkconfig mysql on

查看mysql是否加入开机启动列表:

chkconfig --list | grep mysql

centos安装的数据库 怎么打开 centos启动数据库_数据库_15

配置完之后就可以用 service mysql start 启动 MySQL 服务!

2、启动命令。

启动服务:

service mysql start

重启服务:

service mysql restart

关闭服务:

service mysql stop

四、开放mysql远程连接

1、启动mysql服务并进入。

mysql -u root -p

回车后输入密码,回车进入数据库。
我们暂时使用跳过密码模式,无需数据密码回车就能进入数据库。
下面会把该模式关闭。

2、切换库,设置,刷新。

use mysql;

update user set user.Host='%' where user.User='root';

flush privileges;

centos安装的数据库 怎么打开 centos启动数据库_mysql_16

3、重启服务

service mysql restart

4、开放防火墙端口

1、开放 3306 端口:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

2、重启防火墙:

firewall-cmd --reload

3、查询端口号80 是否开启:

firewall-cmd --query-port=3306/tcp

centos安装的数据库 怎么打开 centos启动数据库_重启_17

五、修改密码

1、启动mysql服务并进入。

确定一下 /etc/my.cnf 文件有 skip-grant-tables 且没有被注释掉。

centos安装的数据库 怎么打开 centos启动数据库_mysql_18


如果修改了该文件,则需要重启mysql服务。

我们这里无需重启直接进入mysql:

mysql -u root

2、切换库,设置,刷新。

use mysql;

update mysql.user set authentication_string=password('123456') where user='root';

flush privileges;

3、编辑 /etc/my.cnf 注释掉 skip-grant-tables

4、重启mysql服务。

service mysql restart

5、登录mysql测试。

6、远程连接异常处理。

如果远程连接报错:

centos安装的数据库 怎么打开 centos启动数据库_数据库_19


处理方式:

进入mysql,修改密码,持久化设置。

mysql -u root -p

输入密码,之前设置的123456
回车进入数据库。
在数据库操作设置密码,设置持久化,刷新。

set password=password('123456'); 

alter user 'root'@'%' password expire never;

flush privileges;

centos安装的数据库 怎么打开 centos启动数据库_centos安装的数据库 怎么打开_20

坑了不少踩,整理一个文档。

亲测有效,完全按照步骤操作。