文章目錄
mysql 5.7 ga版本的發布,也就是說從現在開始5.7已經可以在生產環境中使用,有任何問題官方都將立刻修復。
mysql 5.7主要特性:
mysql 5.7已經作為資料庫可選項新增到《oneinstack》
安裝依賴包
yum -y install gcc gcc-c++ ncurses ncurses-devel cmake
cd /root/oneinstack/src
wget
wget
新增mysql使用者
useradd -m -s /sbin/nologin mysql
預編譯tar xzf boost_1_59_0.tar.gz
tar xzf mysql-5.7.11.tar.gz
mkdir -p /data/mysql
cd mysql-5.7.11
cmake . -dcmake_install_prefix=/usr/local/mysql \
-dmysql_datadir=/data/mysql \
-ddownload_boost=1 \ #從mysql 5.7.5開始boost庫是必需的
-dwith_boost=../boost_1_59_0 \
-dsysconfdir=/etc \
-dwith_innobase_storage_engine=1 \
-dwith_partition_storage_engine=1 \
-dwith_federated_storage_engine=1 \
-dwith_blackhole_storage_engine=1 \
-dwith_myisam_storage_engine=1 \
-denabled_local_infile=1 \
-denable_dtrace=0 \
-ddefault_charset=utf8mb4 \
-ddefault_collation=utf8mb4_general_ci \
-dwith_embedded_server=1
編譯安裝
make -j `grep processor /proc/cpuinfo | wc -l` #編譯很消耗系統資源,小記憶體可能編譯通不過
make install
啟動指令碼,設定開機自啟動
/bin/cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
/etc/my.cnf,僅供參考
cat > /etc/my.cnf << eof
[client]
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8mb4
[mysqld]
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /data/mysql
pid-file = /data/mysql/mysql.pid
user = mysql
bind-address = 0.0.0.0
server-id = 1
init-connect = 'set names utf8mb4'
character-set-server = utf8mb4
#skip-name-resolve
#skip-networking
back_log = 300
max_connections = 1000
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 128
max_allowed_packet = 4m
binlog_cache_size = 1m
max_heap_table_size = 8m
tmp_table_size = 16m
read_buffer_size = 2m
read_rnd_buffer_size = 8m
sort_buffer_size = 8m
join_buffer_size = 8m
key_buffer_size = 4m
thread_cache_size = 8
query_cache_type = 1
query_cache_size = 8m
query_cache_limit = 2m
ft_min_word_len = 4
log_bin = mysql-bin
binlog_format = mixed
expire_logs_days = 30
log_error = /data/mysql/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /data/mysql/mysql-slow.log
performance_schema = 0
explicit_defaults_for_timestamp
#lower_case_table_names = 1
skip-external-locking
default_storage_engine = innodb
#default-storage-engine = myisam
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 64m
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2m
innodb_log_file_size = 32m
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
bulk_insert_buffer_size = 8m
myisam_sort_buffer_size = 8m
myisam_max_sort_file_size = 10g
myisam_repair_threads = 1
interactive_timeout = 28800
wait_timeout = 28800
[mysqldump]
quick
max_allowed_packet = 16m
[myisamchk]
key_buffer_size = 8m
sort_buffer_size = 8m
read_buffer = 4m
write_buffer = 4m
eof
初始化資料庫
注:
之前版本mysql_install_db是在mysql_basedir/script下,5.7放在了mysql_install_db/bin目錄下,且已被廢棄
"--initialize"會生成乙個隨機密碼(~/.mysql_secret),而"--initialize-insecure"不會生成密碼
--datadir目標目錄下不能有資料檔案
啟動資料庫
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
設定資料庫密碼
dbrootpwd=oneinstack #資料庫root密碼
/usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'127.0.0.1' identified by \"$dbrootpwd\" with grant option;"
/usr/local/mysql/bin/mysql -e "grant all privileges on *.* to root@'localhost' identified by \"$dbrootpwd\" with grant option;"
centos下修改mysql5 7密碼
1.首先找到my.cnf檔案,找不到用 find name my.cnf 搜尋 2.在 mysqld 加入 skip grant tables 3.然後 wq退出 4.使用 mysqld service restart重啟mysql服務,報錯用systemctl restart mysqld.ser...
教你CentOS下如何安裝MySQL5 7
1.解除安裝mariadb yum list installed grep mariadb yum y remove mariadb yum install y perl module install.noarch 3.解壓tar包 tar xvf mysql 5.7.23 1.el7.x86 64...
centos環境下 mysql5 7編譯安裝
說明 因為mysql5.7及以上版本需要乙個boost庫,所有選了乙個自帶boost庫的壓縮包 二,執行cmake命令 假設已經安裝了gcc g 那一套命令。使用下面命令進行cmake cmake dcmake install prefix usr local mysql dmysql datadi...