CentOS之——CentOS7安装MySQl数据库

如果你是新的服务器,第一次安装的话;还需要安装各种依赖包,如果你知道需要哪些,那跳过就可以了。不知道的可以复制我下面的例子

yum -y install make cmake gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel patch wget crontabs libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel unzip tar bzip2 bzip2-devel libzip-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel libcurl libcurl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap diffutils ca-certificates net-tools libc-client-devel psmisc libXpm-devel git-core c-ares-devel libicu-devel libxslt libxslt-devel xz expat-deve libaio-devel;

 

安装boost

tar -zxvf boost_1_59_0.tar.bz2 && cd ./boost_1_59_0

./bootstrap.sh

./b2

./b2 install

 

安装MySQL

tar -zxvf mysql-5.7.21.tar.gz && cd mysql-5.7.21

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1

make && make install

可能会出现的问题

c++: Internal error: Killed (program cc1plus)

Please submit a full bug report.

See <http://bugzilla.redhat.com/bugzilla> for instructions.

make[2]: *** [sql/CMakeFiles/sql.dir/item_geofunc.cc.o] Error 1

make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2

make: *** [all] Error 2

 

解决方案如下:

dd if=/dev/zero of=/swapfile bs=1k count=2048000 --获取要增加的2G的SWAP文件块

mkswap /swapfile -- 创建SWAP文件

swapon /swapfile -- 激活SWAP文件

swapon -s -- 查看SWAP信息是否正确

 

编译完成后就可以删除这个缓冲区了

新建配置,输入以下文本,如果有则删除重建(/etc/my.cnf)

[client]

#password = your_password

port = 3306

socket = /tmp/mysql.sock

 

[mysqld]

port = 3306

socket = /tmp/mysql.sock

datadir = /data/mysql/data

skip-external-locking

key_buffer_size = 16M

max_allowed_packet = 1M

table_open_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

thread_cache_size = 8

query_cache_size = 8M

tmp_table_size = 16M

performance_schema_max_table_instances = 500

 

explicit_defaults_for_timestamp = true

#skip-networking

max_connections = 500

max_connect_errors = 100

open_files_limit = 65535

 

log-bin=mysql-bin

binlog_format=mixed

server-id = 1

expire_logs_days = 10

early-plugin-load = ""

 

#loose-innodb-trx=0

#loose-innodb-locks=0

#loose-innodb-lock-waits=0

#loose-innodb-cmp=0

#loose-innodb-cmp-per-index=0

#loose-innodb-cmp-per-index-reset=0

#loose-innodb-cmp-reset=0

#loose-innodb-cmpmem=0

#loose-innodb-cmpmem-reset=0

#loose-innodb-buffer-page=0

#loose-innodb-buffer-page-lru=0

#loose-innodb-buffer-pool-stats=0

#loose-innodb-metrics=0

#loose-innodb-ft-default-stopword=0

#loose-innodb-ft-inserted=0

#loose-innodb-ft-deleted=0

#loose-innodb-ft-being-deleted=0

#loose-innodb-ft-config=0

#loose-innodb-ft-index-cache=0

#loose-innodb-ft-index-table=0

#loose-innodb-sys-tables=0

#loose-innodb-sys-tablestats=0

#loose-innodb-sys-indexes=0

#loose-innodb-sys-columns=0

#loose-innodb-sys-fields=0

#loose-innodb-sys-foreign=0

#loose-innodb-sys-foreign-cols=0

 

default_storage_engine = InnoDB

innodb_file_per_table = 1

innodb_data_home_dir = /data/mysql/data

innodb_data_file_path = ibdata1:10M:autoextend

innodb_log_group_home_dir = /data/mysql/data

innodb_buffer_pool_size = 16M

innodb_log_file_size = 5M

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 50

 

[mysqldump]

quick

max_allowed_packet = 16M

 

[mysql]

no-auto-rehash

 

[myisamchk]

key_buffer_size = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

 

[mysqlhotcopy]

interactive-timeout

 

初始化MySQL

chown -R mysql:mysql /data/mysql/data

/usr/local/mysql/bin/mysql_install_db --user=mysql --datadir=/data/mysql/data

chgrp -R mysql /usr/local/mysql/.

\cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql

chmod 755 /etc/init.d/mysql

ldconfig

 

建立链接

ln -sf /usr/local/mysql/bin/mysql /usr/bin/mysql

ln -sf /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump

ln -sf /usr/local/mysql/bin/myisamchk /usr/bin/myisamchk

ln -sf /usr/local/mysql/bin/mysqld_safe /usr/bin/mysqld_safe

ln -sf /usr/local/mysql/bin/mysqlcheck /usr/bin/mysqlcheck

 

启动MySQL

service mysql start