linux安装MySQL5.7记录

时间:2022-04-15 14:26:35

linux安装MySQL5.7记录

虚拟机未装过mysql,第一次安装mysql。自己指定安装目录,指定数据文件目录。

linux系统版本: CentOS 7.3 64位

安装源文件版本:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gzip

mysql安装位置:/software/mysql-57

数据库文件数据位置:/data/mysql

安装步骤

1. 在根目录下创建文件夹/software和数据库数据文件/data/mysql

[root@localhost ~]# mkdir /software/
[root@localhost ~]# mkdir /data/mysql

2. 从官网下载相应的MySQL版本

下载安装包:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

linux安装MySQL5.7记录

3. 解压并移动到/software目录下

[root@localhost ~]# tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
[root@localhost ~]# mv mysql-5.7.24-linux-glibc2.12-x86_64/ /software/mysql-57

4. 创建mysql用户组和mysql用户

[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql mysql

5. 关联myql用户到mysql用户组中

[root@localhost ~]# chown -R mysql:mysql  /software/mysql-57/
[root@localhost ~]# chown -R mysql:mysql /data/mysql/
[root@localhost ~]# chown -R mysql /software/mysql-57/
[root@localhost ~]# chown -R mysql /data/mysql

6. 更改文件夹的权限

[root@localhost ~]# chmod -R 755 /software/mysql-57/

7. 安装libaio依赖包

如果系统之前装过其他的数据库,那么依赖包可能存在,可以用命令行测试下,如果不存在就进行安装。

[root@localhost ~]# yum list installed | grep libaio
# 如果没有就进行安装
[root@localhost ~]# yum search libaio
[root@localhost ~]# yum install libaio

8. 初始化mysql命令

[root@localhost ~]# cd /software/mysql-57/bin
[root@localhost ~]# ./mysqld --user=mysql --basedir=/software/mysql-57 --datadir=/data/mysql --initialize

在执行上面命令后会出几行信息。信息的最后一行为:

# root@localhost: 后面跟的是mysql数据库登录的临时密码,各人安装生成的临时密码不一样,
# 将密码复制保存,后续登录mysql要使用
[Note] A temporary password is generated for root@localhost: ad8#*>y(f4Cq

9. 修改Mysql配置文件

[root@localhost ~]# vim /software/mysql-57/support-files/mysql.server

主要是修改相应文件夹的位置,修改为之前创建的文件夹。

mysql.server

修改前

......
if test -z "$basedir"
then
basedir=/usr/local/mysql
bindir=/usr/local/mysql/bin
if test -z "$datadir"
then
datadir=/usr/local/mysql/data
fi
sbindir=/usr/local/mysql/bin
libexecdir=/usr/local/mysql/bin
else
......

修改后

......
mysqld_pid_file_path=
if test -z "$basedir"
then
basedir=/software/mysql-57
bindir=/software/mysql-57/bin
if test -z "$datadir"
then
datadir=/data/mysql
fi
sbindir=/software/mysql-57/bin
libexecdir=/software/mysql-57/bin
else
......

将修改好的文件放入系统服务文件夹内。这样每次就可以通过service mysqld start来启动服务。

[root@localhost ~]# cp /software/mysql/support-files/mysql.server  /etc/init.d/mysqld
[root@localhost ~]# chmod 755 /etc/init.d/mysqld

my.cnf

[root@localhost ~]# vim /etv/my.cnf

修改前

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

修改后

[client]
no-beep
socket =/software/mysql-57/mysql.sock
port=3306
[mysql]
default-character-set=utf8
[mysqld]
basedir=/software/mysql-57
datadir=/data/mysql
port=3306
pid-file=/software/mysql-57/mysqld.pid
skip-name-resolve
socket = /software/mysql-57/mysql.sock
character-set-server=utf8

其中skip_name_resolve。这个参数是禁止域名解析的。

10. 启动MySQL服务

因为新版本的mysql安全启动只认 /usr/local/mysql 这个路径。所以要进行相应的修改,通常有两种方法进行修改。

  • 建立软链接
#local下没有mysql文件夹的话,新建一个
[root@localhost ~]# cd /usr/local/mysql
[root@localhost ~]# ln -s /sofware/mysql-57/bin/myslqd mysqld
  • 修改 mysqld_safe 文件
[root@localhost ~]# vim /software/mysql/bin/mysqld_safe
#将所有的/usr/local/mysql改为/software/mysql-57,保存退出

启动mysql:

[root@localhost ~]# /etc/init.d/mysqld start
这样服务就能安全启动。

11. 登录mysql

[root@localhost ~]# /software/mysql/bin/mysql -u root –p
# 输入临时密码。临时密码就是之前root@localhost:后面的内容

12. 修改mysql的登录密码

## password('123456') 括号中的123456就是修改后的的密码,不过建议密码不要这么简单
>mysql set password=password('123456');
## 对root用户进行授权,"%"表示在任何一台电脑上都可以登录;也可以指定某台机器可以远程登录;
>mysql grant all privileges on *.* to root@'%' identified by 'root';
## 刷新表
>mysql flush privileges;

操作到这里,MySQL的基本安装过程已经完成,此时mysql的登录名root, 登录密码123456

13. MySQL服务的启动和关闭

查看mysql服务的两种方式

[root@localhost ~]# ps -ef|grep mysql

[root@localhost ~]# netstat -nlp|grep mysql

启动mysql服务

[root@localhost ~]# service mysql start
如果服务在启动状态,直接重启服务用以下命令:
[root@localhost ~]# service mysql restart

关闭mysql服务

service mysql stop

其他MySQL相关的博文

MySQL5.7 常用用户操作

Centos7 firewall开放3306端口