此文只是帮助刚开始接触MYSQL的同学安装。可能会因为操作系统环境不一样,缺一些包,根据报错修复即可。装好后可以打包成RPM包,方便后续安装。
下载地址:https://cmake.org/download/
[root@shell ~]# wget -c https://cmake.org/files/v3.9/cmake-3.9.1.tar.gz
[root@shell ~]# tar -zxf cmake-3.2.1.tar.gz && cd cmake-3.9.1
[root@shell cmake-3.2.1]# ./configure
[root@shell cmake-3.2.1]# make && make install [默认安装路径是/usr/local/bin]
[root@shell cmake-3.2.1]# cmake --version [查看cmake版本]
cmake version 3.9.1
下载地址:http://ftp.gnu.org/gnu/bison/或
http://www.boost.org/users/history/version_1_58_0.html
[root@shell ~]# wget -c http://git.shell.com/libs/ccpp/bison-3.0.tar.gz
[root@shell ~]# tar -zxf bison-3.0.tar.gz && cd bison-3.0/ && ./configure
[root@shell bison-3.0]# make && make install
下载地址:https://dl.bintray.com/boostorg/release/1.64.0/source/
[root@shell ~]# wget -c http://git.shell.com/libs/ccpp/boost_1_57_0.tar.bz2
[root@shell ~]# tar -jxf boost_1_57_0.tar.bz2 && cd boost_1_57_0/
[root@shell boost_1_57_0]# ./bootstrap.sh
[root@shell boost_1_57_0]# ./b2 stage threading=multi link=shared
[root@shell boost_1_57_0]# ./b2 install threading=multi link=shared
useradd mysql
mkdir -p /home/servers/mysql
mkdir -p /home/servers/mysql/etc
mkdir -p /home/data/mysql/data
mkdir -p /home/data/mysql/tmp
mkdir -p /home/data/mysql/log
mkdir -p /home/data/mysql/dumps
mkdir -p /home/data/mysql/undo
chown mysql.mysql -R /home/data/mysql
chown mysql.mysql -R /home/servers/mysql/
yum install ncurses-devel
cmake \
-DCMAKE_INSTALL_PREFIX=/home/servers/mysql \
-DMYSQL_DATADIR=/home/data/mysql/data \
-DSYSCONFDIR=/home/servers/mysql/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/home/data/mysql/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
vi /home/servers/mysql/etc/my.cnf
export PATH=$PATH:$HOME/bin:/home/servers/mysql/bin
/home/servers/mysql/scripts/mysql_install_db --user=mysql --basedir=/home/servers/mysql --datadir=/home/data/mysql/data
/home/servers/mysql/bin/mysqld_safe --defaults-file=/home/servers/mysql/etc/my.cnf &
/home/servers/mysql/bin/mysql -uroot
mysql_install_db 已经不再推荐使用了,建议改成 mysqld –initialize 完成实例初始化。如果 datadir 指向的目标目录下已经有数据文件,则会有[ERROR] Aborting;
在初始化时如果加上 –initial-insecure,则会创建空密码的 root@localhost 账号,否则会创建带密码的 root@localhost 账号,密码直接写在 log-error 日志文件中;新用户登入后需要立刻修改密码,否则无法继续后续的工作。
修改初始化密码&格式化
/home/servers/mysql/bin/mysql_secure_installation
/home/servers/mysql/bin/mysqld --initialize --initial-insecure --console
启动同上
sql_mode = NO_ENGINE_SUBSTITUTION (采用MySQL5.6默认sql_mode)
bulk_insert_buffer_size = 64M (批量插入数据缓存大小,可以有效提高插入效率)
binlog_rows_query_log_events =on (可以查看row格式下的sql语句)
innodb_adaptive_hash_index_parts=128 (避免单个索引导致的锁争用)
show_compatibility_56=on 从库并行复制: (只在从库添加)
slave-parallel-type=LOGICAL_CLOCK (从库并行复制)
slave-parallel-workers=16 (默认为4,可调整,需要stop slave;start slave;)
slave_preserve_commit_order=1(保证主从库并发执行时,事物顺序一致,可以动态修改)
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON
修改:
binlog_format=row (原 mixed)
join_buffer_size=128M (原256K)
max_allowed_packet=1024M(原16M)
sort_buffer_size=64M (原128K)