zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Linux二进制安装MySQL5.6

2023-02-18 16:34:36 时间

二进制安装:官网已经将源代码编译完成,安装的过程需要我们自己完成。

1.准备用户

指定运行软件的身份(每个服务都应该有一个专有的账号来运行)

[root@CentOS8 local]# groupadd -r -g 306 mysql

[root@CentOS8 local]# useradd -r -g 306 -u 306 -d /data/mysql mysql #系统账号不会默认创建这个家目录,需要手动创建

-r:表示创建的是一个系统用户,会默认给一个1000以内的uid,默认不生成家目录和邮箱、不分配shell
-g:指定gid
-u:指定uid
-d:指定家目录,(指定mysql存放数据的位置)
2.准备数据目录
[root@CentOS8 local]# mkdir -p /data/mysql

[root@CentOS8 local]# chown mysql.mysql /data/mysql/
3.准备二进制程序

下载对应的二进制安装包:
https://downloads.mysql.com/archives/community/

image

[root@CentOS8 ~]# tar -xzf mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
#需要解压到固定的位置,二进制安装是别人已经帮我们编译完了,编译的时候使用congifure脚本指定未来安装的路径时(prefix)默认就是在/usr/local

[root@CentOS8 ~]# cd /usr/local

[root@CentOS8 ~]# ln -sv mysql-5.6.51-linux-glibc2.12-x86_64 mysql
#因为编译的时候安装路径是不带版本号的,但是咱们解压的时候带了版本号,所以需要创建要给不带版本号的软连接并更改所有者和所属组。

[root@CentOS8 ~]# chown -R root:root /usr/local/mysql/
4.准备配置文件

二进制安装的时候没有提供配置文件,官方提供了模板配置文件。

[root@CentOS8 local]# cp mysql/support-files/my-default.cnf /etc/my.cnf

[root@CentOS8 ~]# vim /etc/my.cnf
mysql语句块中添加以下三个选项
[mysqld]
datadir = /data/mysql  #指定数据存放路径
innodb_file_per_table = on 在mariadb5.5以上版的是默认值,可不加
skip_name_resolve = on    禁止主机名解析,建议使用
5.创建数据库文件

此时/data/mysql中的内容还不存在,需要通过初始化脚本把默认带的数据库相关配置文件生成。

[root@CentOS8 ~]# cd /usr/local/mysql/

[root@CentOS8 ~]# ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql --basedir=/usr/local/mysql
查看是否创建成功:
[root@centos8 mysql]# ls /data/mysql/ -l
total 110604
-rw-rw---- 1 mysql mysql 12582912 Jun  1 16:44 ibdata1
-rw-rw---- 1 mysql mysql 50331648 Jun  1 16:44 ib_logfile0
-rw-rw---- 1 mysql mysql 50331648 Jun  1 16:44 ib_logfile1
drwx------ 2 mysql mysql     4096 Jun  1 16:44 mysql
drwx------ 2 mysql mysql     4096 Jun  1 16:44 performance_schema
drwx------ 2 mysql mysql     4096 Jun  1 16:44 test
6.准备启动的服务脚本

提供了模板的服务启动脚本,只需要拷贝到对应的位置启动就行了

[root@centos8 mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

[root@CentOS8 mysql]# chkconfig --add mysqld

[root@CentOS8 mysql]# service mysqld start
Starting MySQL.Logging to '/data/mysql/CentOS8.cc.err'.
............ SUCCESS!
7.配置PATH

不修改PATH的话每次都要写全路径。

[root@CentOS8 mysql]# echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh

[root@CentOS8 mysql]# . /etc/profile.d/mysql.sh
8.安装mysql客户端
[root@CentOS8 mysql]# yum install mysql -y

[root@CentOS8 mysql]# yum install -y ncurses-compat-libs
测试:
[root@CentOS8 mysql]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.51 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

#正常
常见问题:
[root@CentOS8 mysql]# ./scripts/mysql_install_db --datadir=/data/mysql --user=mysql --basedir=/usr/local/mysql
-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: No such file or directory

解决:
[root@CentOS8 mysql]# yum install perl perl-devel


安装好mysql客户端以后
[root@CentOS8 mysql]# mysql
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

解决:yum install -y ncurses-compat-libs