Centos7.4离线安装Mariadb-10.3.8

Maridb的yum安装网上教程很多,现在记录一下离线安装;

使用的Maridb的版本为:mariadb-10.3.8-linux-x86_64.tar.gz

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

(2)准备用户

useradd -r -d /data/madata -m -s /sbin/nologin mysql
#/data/madata是数据存放文件

(3)准备二进制程序

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/ mysq  //在/usr/local下, mariadb的数据库的目录已经生成,但是这个目录不符合要求,要求mariadb数据库必须放在mysql目录下,所以有两种方法解决,一是改名,将生成的mariadb数据库目录改为mysql,二是创建软链接,我们就选择创建软链接的方式

(4)准备配置文件

vim /etc/mysql/my.cnf

[client]
port            = 3306
socket          = /data/madata/mysql.sock

[mysqld]
user = mysql
port=3306
default-storage-engine         = InnoDB
socket          = /data/madata/mysql.sock
skip-external-locking
character-set-server = utf8
max_allowed_packet = 16M
max_connect_errors=65535
skip_name_resolve = ON
sysdate-is-now                 = 1
innodb                         = FORCE

datadir = /data/madata
log-bin                        = /var/lib/mysql/mysql-bin
auto_increment_increment=2     
auto_increment_offset=2        
log-slave-updates=on 

#relay_log_recovery             = 1
binlog_format=mixed             #row
max_binlog_size=1024M
binlog_cache_size             = 2M
expire-logs-days               = 14
server-id    = 189
sync-binlog                    = 1

query-cache-type               = 0
query-cache-size               = 0
max_connections=8192
thread-cache-size              = 1024
open_files_limit=8192
table-definition-cache         = 1024
table-definition-cache         = 1024
max_prepared_stmt_count=200000
slow_query_log=on
slow_query_log_file=/var/lib/mysql/slow.log
log-error                      = /data/madata/mysql-error.log
log-queries-not-using-indexes  = 1
long_query_time = 1
interactive_timeout            = 28800
wait_timeout                   = 28800
lower_case_table_names=1
innodb-log-file-size           = 512M
innodb-flush-log-at-trx-commit = 2
innodb-file-per-table          = 1
innodb-buffer-pool-size        = 16G
innodb_log_buffer_size = 8M
innodb_lock_wait_timeout = 150
replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
max_heap_table_size = 2048M 
tmp_table_size = 2048M
#innodb-log-files-in-group      = 2
 
[mysqldump]
quick
max_allowed_packet = 512M
 
[mysql]
no-auto-rehash
 
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
 
[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
 
[mysqlhotcopy]
interactive-timeout

(5)mysql用户授权

mkdir -p /var/lib/mysql
chown -R mysql /var/lib/mysql

chown mysql:mysql -Rf  /usr/local/mysql     设置 mysql 目录的用户及用户组归属。 
chmod +x -Rf /usr/local/mysql    赐予可执行权限 
或者
在/usr/local/mysql目录中,执行如下操作
chown -R mysql .
chgrp -R mysql .

(6)创建数据库文件

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

(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端口是否打开
5.开机启动
chkconfig mysqld on

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

1.vim  /etc/profile
PATH=/usr/local/mysql/bin:$PATH
2.source /etc/profile  使PATH生效。

(10)运行mysql安全脚本

1.cd /usr/local/mysql 
2.mysql_secure_installation

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

在忘记root密码的时候,可以这样 
以windows为例: 
1.进入mysql安装目录,打开my.ini文件

2.找到[mysqld]配置行(注意,不是[mysql]),在其下一行输入:skip-grant-tables(或者:--skip-grant-tables,两者区别是有时两个横线会导致服务无法重启需要测试应当添加否。)

3.cmd命令:services.msc,找到mysql服务并重启(使修改的配置文件生效)

4.mysql命令行:use mysql(进入系统配置库)

5.mysql命令行:update user set password=password("123") where user="root";(别忘了最后加分号,分号意味着命令的结束) 
--新增用户
grant all on *.* to root@'localhost' identified by '123' with grant option; 

6.mysql命令行:flush privileges;(刷新缓存,更新数据库读取的密码别忘了最后加分号,分号意味着命令的结束)

7.退出mysql,或重启服务,密码设置成功。

 

转载于:https://my.oschina.net/boreboluomiduo/blog/3072991

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值