微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux学习分享第十周

1、通过编译、二进制安装MysqL5.7

二进制安装:

1)安装依赖包

yum -y install libaio numactl-libs

2)创建用户和组

groupadd MysqL

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

3)准备程序相关文件

wget http://mirrors.163.com/MysqL/Downloads/MysqL-5.7/MysqL-5.7.33-linux-glibc2.12-x86_64.tar.gz

tar xf MysqL-5.7.33-linux-glibc2.12-x86_64.tar.gz -C /usr/local
cd /usr/local/
ln -s MysqL-5.7.33-linux-glibc2.12-x86_64/ MysqL
chown -R root.root /usr/local/MysqL/

4)准备环境变量

echo 'PATH=/usr/local/MysqL/bin:$PATH' > /etc/profile.d/MysqL.sh
. /etc/profile.d/MysqL.sh

5)准备配置文件

cp /etc/my.cnf{,.bak}
vim /etc/my.cnf
[MysqLd]
datadir=/data/MysqL
skip_name_resolve=1
socket=/data/MysqL/MysqL.sock
log-error=/data/MysqL/MysqL.log
pid-file=/data/MysqL/MysqL.pid
[client]
socket=/data/MysqL/MysqL.sock

6)初始化数据库文件

生成root空密码

MysqLd --initialize-insecure -user=MysqL  --datadir =/data/MysqL

7)准备服务脚本并启动MysqL

cp /usr/local/MysqL/support-files/MysqL.server /etc/init.d/MysqLd
chkconfig --add MysqLd
service MysqLd start
  1. 测试登录

编译安装:

1)安装依赖

yum -y install gcc gcc-c++ cmake bison bison-devel zlib-devel libcurl-devel \
libarchive-devel boost-devel ncurses-devel gnutls-devel libxml2-devel \
openssl-devel libevent-devel libaio-devel perl-Data-Dumper

2)创建用户

useradd -r -s /sbin/nologin -d /data/MysqL MysqL

3)下载并解压缩MysqL源码包

tar xvf mysql-5.6.51.tar.gz -C /usr/local/src

4)源码编译安装 MysqL

cd /usr/local/src/mysql-5.6.51/
cmake . \
-DCMAKE_INSTALL_PREFIX=/apps/MysqL \
-DMysqL_DATADIR=/data/MysqL/ \
-DSYSconfdIR=/etc/ \
-DMysqL_USER=MysqL \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMysqL_UNIX_ADDR=/data/MysqL/MysqL.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install

5)准备环境变量

echo 'PATH=/apps/MysqL/bin:$PATH' > /etc/profile.d/MysqL.sh
. /etc/profile.d/MysqL.sh

6)生成数据库文件

cd /apps/MysqL/
scripts/MysqL_install_db --datadir=/data/MysqL/ --user=MysqL

7)准备配置文件

cp -b /apps/MysqL/support-files/my-default.cnf /etc/my.cnf

8)准备启动脚本,并启动服务

cp /apps/MysqL/support-files/MysqL.server /etc/init.d/MysqLd
chkconfig --add MysqLd
service MysqLd start

9)安全初始化

MysqL_secure_installation

2、二进制安装mariadb10.4

(1)在CentOS 7系统上,yum info mariadb可以找到提供mariadb包的官方网站,在到官方网站下载最新的mariadb包,然后rz到Linux系统上去

wget http://ftp.hosteurope.de/mirror/archive.mariadb.org//mariadb-10.4.5/bintar-linux-glibc_214-x86_64/mariadb-10.4.5-linux-glibc_214-x86_64.tar.gz

(2)准备用户

useradd -r -d /app/MysqLdb -m -s /sbin/nologin MysqL //-r创建系统用户,-d指定家目录,-m强制创建家目录,-s指定shell不允许这个用户登录

(3)准备数据库目录

创建MysqL用户指定的家目录就是数据库目录,但是建议使用逻辑卷,因为这个目录是存放数据库的,会逐渐增大,而逻辑卷能够扩展。

(4)准备二进制程序

1.tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local //认是放在/usr/local目录下
2.cd /usr/local
3.ln -s mariadb-10.2.8-linux-x86_64.tar.gz/ MysqL //在/usr/local下, mariadb的数据库的目录已经生成,但是这个目录不符合要求,要求mariadb数据库必须放在MysqL目录下,所以有两种方法解决,一是改名,将生成的mariadb数据库目录改为MysqL,二是创建软链接,我们就选择创建软链接的方式

(5)准备配置文件

1.cd /usr/local/MysqL/support-files //这个目录下的一些文件可以当MysqL配置文件,我们就选my-huge.cnf作为MysqL配置文件
2.mkdir /etc/MysqL/ //建立MysqL配置文件的目录
3.cp my-huge.cnf /etc/my.cnf //MysqL配置文件名也是有要求的,所以要改名为my.cnf
4.vim /etc/my.cnf //复制过来之后还要修改一下配置文件
[MysqLd]
datadir = /data/MysqLdb //数据库的数据放在哪,关键的一行,必须加,下面两行可以不加
innodb_file_per_table = on//数据库中有很多表,加上这一行就可以使每个表单独生成一个文件
skip_name_resolve = on //为了加速访问速度,忽略名字的反向解析
这样配置文件就编辑好了

(6)创建数据库文件

1.cd /usr/local/MysqL/
2./scripts/MysqL_install_db --user=MysqL --datadir=/data/mydata //创建MysqL数据库,指定数据库的路径以及用户名身份,执行完之后就会在/app/MysqLdb下生成数据库文件。
注意:创建MysqL的系统数据库,系统提供了一个脚本,我们直接可以利用它来生成MysqL的系统数据库,这个脚本就在scripts下,但是不要进去运行脚本,否则会报错,必须在/usr/local/MysqL/下运行脚本
3.ls /app/MysqLdb //查看一下生成数据库文件

(7)准备日志文件

1.mkdir /var/log/mariadb/ //创建日志文件所在的目录
2.chown MysqL /var/log/mariadb/ //因为是以MysqL用户的身份来写日志的,所以创建了这个目录还必须修改一下其所属人为MysqL,以保证MysqL用户能对/var/log/mariadb/目录有写权限

(8)启动服务

1.cp support-files/MysqL.server /etc/init.d/MysqLd //在/usr/local/MysqL/support-files目录下有一个现成的服务脚本,但是这个服务脚本必须放在规定的目录/etc/init.d/下才能使用,复制到这个目录下,并改名为MysqLd,将来这个服务名就叫MysqLd
2.chkconfig --add MysqLd
3.service MysqLd start //开启服务,成功开启服务之后,会打开了3306端口
4.ss -nutl //查看一下3306端口是否打开

(9)添加PATH变量,以方便来运行MysqL程序

1.vim /etc/profile.d/MysqL.sh
PATH=/usr/local/MysqL/bin:$PATH

2./etc/profile.d/MysqL.sh //使添加的PATH变量生效

(10)运行MysqL安全脚本

1.cd /usr/local/MysqL
2.MysqL_secure_installation

(11)测试,运行一下MysqL程序,-u指定用户,-p后面跟口令(该口令是上一步运行安全脚本给root用户设置的口令)

MysqL -uroot -p口令
update user set password=password(‘123456’) where user=‘root’;
grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant option;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐