14°

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用户授权

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 /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
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";(别忘了最后加分号,分号意味着命令的结束)

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

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

 

本文由【真智能胜】发布于开源中国,原文链接:https://my.oschina.net/boreboluomiduo/blog/3072991

全部评论: 0

    我有话说: