Mysql5.6.36腳本編譯安裝及初始化教程
概述
本文為centos7.3自動(dòng)化編譯安裝mysql5.3.6的腳本及后續(xù)初始化操作,話不多少,直接上腳本。
安裝腳本install.py如下:
#coding=utf-8
#!/usr/bin/python
import os,commands
#定義變量
install_dir = '/data/mysql'
data_dir = '/data/mysql/data'
package_dir = '/data/mysql'
log_dir = '/data/mysql/logs'
current_dir = os.getcwd()
cmake = 'cmake -DCMAKE_INSTALL_PREFIX=%s -DMYSQL_UNIX_ADDR=%s/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_DATADIR=%s -DMYSQL_TCP_PORT=3306' % (install_dir, install_dir, data_dir)
#安裝依賴(lài)包
os.system('yum install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake perl -y')
#安裝函數(shù)
def install_mysql():
if os.system('groupadd mysql') == 0:
print 'group mysql add success!'
else:
exit('group mysql add failed!')
if os.system('useradd -r -g mysql -s /bin/false mysql') == 0:
print 'user mysql add success!'
else:
exit('user mysql add failed!')
if not os.path.exists(install_dir):
os.system('mkdir -p %s' % install_dir)
if not os.path.exists(data_dir):
os.system('mkdir -p %s' % data_dir)
if not os.path.exists(package_dir):
os.system('mkdir -p %s' % package_dir)
if not os.path.exists(log_dir):
os.system('mkdir -p %s' % log_dir)
if os.system('tar zxvf mysql-5.6.36.tar.gz') == 0:
print 'uncompress v success!'
else:
exit('uncompress mysql-5.6.36.tar.gz failed!')
os.chdir('mysql-5.6.36')
if os.system(cmake) == 0:
print '編譯成功'
else:
exit('編譯mysql失敗')
if os.system('make && make install') == 0:
print '編譯安裝mysql成功'
else:
exit('編譯安裝mysql失敗')
if os.system('chown -R mysql:mysql %s' % install_dir) == 0:
print '安裝目錄權(quán)限配置成功'
else:
exit()
os.system('chown -R mysql:mysql %s' % data_dir)
os.system('cd %s && touch mysql-error.log' % log_dir)
os.system('chown -R mysql:mysql %s' % log_dir)
os.chdir(install_dir)
if os.system('./scripts/mysql_install_db --user=mysql --datadir=%s' % data_dir) == 0:
print 'mysql初始化成功'
else:
exit('mysql初始化失敗')
os.system('cp support-files/mysql.server /etc/init.d/mysqld')
os.system('mv /etc/my.cnf /etc/my.cnf.bak')
os.chdir(current_dir)
os.system('cp my.cnf /etc/my.cnf')
os.system('service mysqld start')
os.system('chkconfig mysqld on')
install_mysql()
if os.path.exists('/etc/profile'):
os.system('cp /etc/profile /etc/profile.bak')
if os.system('echo "PATH=%s/bin:%s/lib:$PATH" >> /etc/profile' % (install_dir, install_dir)) == 0:
print '修改/etc/profile成功'
else:
exit()
if os.system('echo "export PATH" >> /etc/profile') == 0:
print '修改/etc/profile文件成功'
else:
exit()
配置文件my.cnf
[mysqld] basedir = /data/mysql datadir = /data/mysql/data tmpdir = /data/mysql socket = /data/mysql/mysql.sock skip-external-locking skip-name-resolve lower_case_table_names=1 auto_increment_offset = 1 auto_increment_increment = 2 #server-id ########## binlog ########## log_bin = /data/mysql/logs/mysql-bin binlog_format = row binlog_cache_size = 2M expire-logs-days = 7 ########## error log ########## log_error = /data/mysql/logs/mysql-error.log ########## slow log ########## slow_query_log = 1 slow_query_log_file = /data/mysql/logs/mysql-slow.log long_query_time = 5 ########## per_thread_buffers ########## max_connections = 1024 max_connect_errors = 1000 key_buffer_size = 64M max_allowed_packet = 128M table_open_cache = 6144 table_definition_cache = 4096 sort_buffer_size = 512K read_buffer_size = 512K join_buffer_size = 512K tmp_table_size = 64M max_heap_table_size = 64M thread_cache_size = 64 thread_concurrency = 32 bulk_insert_buffer_size = 64M ########innodb######## innodb_buffer_pool_size = 45G innodb_log_file_size = 500M innodb_log_buffer_size = 64M innodb_flush_log_at_trx_commit = 2 innodb_file_per_table = 1 innodb_file_io_threads = 4 innodb_flush_method = O_DIRECT innodb_thread_concurrency = 0 innodb_additional_mem_pool_size = 16M [mysqlhotcopy] interactive-timeout [mysqld_safe] open_files_limit = 65535
使用方法:
1.操作系統(tǒng)需要配置yum源
2.操作系統(tǒng)版本:centos7.3
3.將install.py my.cnf 和mysql安裝包放一個(gè)文件夾
mysql安裝包下載地址:鏈接: https://pan.baidu.com/s/1pKHbFlh 密碼: tx9b
初始化
由于默認(rèn)情況下編譯安裝的mysql5.6.36沒(méi)有密碼,命令行直接輸入mysql進(jìn)行登陸,執(zhí)行以下sql語(yǔ)句
-- 初始化數(shù)據(jù)
use mysql;
update user set password=PASSWORD("Abcd123") where user='root';
grant all privileges on *.* to weihu@"%" identified by "Abcd123";
delete from mysql.user where user = '';
FLUSH PRIVILEGES;
-- 創(chuàng)建demo數(shù)據(jù)庫(kù)
CREATE DATABASE `demo` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
show databases;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
mysql 8.0.15 winx64壓縮包安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了mysql 8.0.15 winx64壓縮包安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05
MySQL的查詢(xún)緩存機(jī)制基本學(xué)習(xí)教程
這篇文章主要介紹了MySQL的查詢(xún)緩存機(jī)制基本學(xué)習(xí)教程,默認(rèn)針對(duì)InnoDB存儲(chǔ)引擎下來(lái)將,需要的朋友可以參考下2015-11-11
關(guān)于加強(qiáng)MYSQL安全的幾點(diǎn)建議
現(xiàn)在php+mysql組合越來(lái)越多,這里腳本之家小編就為大家分享一下mysql的安裝設(shè)置的幾個(gè)小技巧2016-04-04
解決Mysql多行子查詢(xún)的使用及空值問(wèn)題
所謂多行子查詢(xún),是指執(zhí)行查詢(xún)語(yǔ)句獲得的結(jié)果集中返回了多行數(shù)據(jù)的子查詢(xún),今天通過(guò)本文給大家分享Mysql多行子查詢(xún)的使用及空值問(wèn)題,感興趣的朋友一起看看吧2022-01-01
如何使用mysql查詢(xún)24小時(shí)數(shù)據(jù)
在進(jìn)行實(shí)時(shí)數(shù)據(jù)處理時(shí),我們常常需要查詢(xún)最近24小時(shí)的數(shù)據(jù)來(lái)進(jìn)行分析和處理,下面我們將介紹如何使用MySQL查詢(xún)最近24小時(shí)的數(shù)據(jù),需要的朋友可以參考下2023-07-07

