Maridb的yum安装网上教程不少,如今记录一下离线安装;mysql
使用的Maridb的版本为:mariadb-10.3.8-linux-x86_64.tar.gzlinux
useradd -r -d /data/madata -m -s /sbin/nologin mysql #/data/madata是数据存放文件
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,二是建立软连接,咱们就选择建立软连接的方式
vim /etc/mysql/my.cnfsql
[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
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 .
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 //查看一下生成的数据库文件
1.mkdir /var/log/mariadb/ //建立日志文件所在的目录 2.chown mysql /var/log/mariadb/ //由于是以mysql用户的身份来写日志的,因此建立了这个目录还必须修改一下其所属人为mysql,以保证mysql用户能对/var/log/mariadb/目录有写权限
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
1.vim /etc/profile PATH=/usr/local/mysql/bin:$PATH 2.source /etc/profile 使PATH生效。
1.cd /usr/local/mysql 2.mysql_secure_installation
在忘记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,或重启服务,密码设置成功。