用户工具

站点工具


mysql_linux安装步骤

这是本文档旧的修订版!


CMAKE 安装方法,下载 generic linux source 包: mysql-5.6.40.tar.gz https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.26.tar.gz

  yum install  cmake gcc gcc-c++ openssl-devel boost ncurses-devel libaio-devel
  groupadd -r mysql (添加mysql组)
  useradd -g mysql -r -s /sbin/nologin mysql  (添加mysql用户,并指定所属组与家目录)
  mkdir -p /data/mysql/data (一般将数据盘单独挂载比较好)
  chown -R mysql.mysql /data/mysql/data (更改数据库目录的属主属组)

编译参数:

5.7以前版本:

  cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data/ -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_unicode_ci

5.7以后版本:

  cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data/ -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_unicode_ci -DWITH_BOOST=boost/boost_1_59_0/ 

出错如下所示boost没有,或者版本不对 – MySQL currently requires boost_1_59_0 cmake/boost.cmake:228 (COULD_NOT_FIND_BOOST)

先下载boost_1_59_0 wget http://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz tar -xf boost_1_59_0.tar.gz cd boost_1_59_0 ./bootstrap.sh ./b2 install 好像把这个包里面的文件放到mysql原文件的:boost/boost_1_59_0 目录下,或指定到这个目录就可以,

make install

如果以上过程顺利执行,那么恭喜你,你的mysql已经安装成功了,但是如果编译安装过程中出错,没关系查看出错信息,清理此前的编译所生成的文件, # rm CMakeCache.txt (相当于make clean)

1.mysql初始化 # cd /usr/local/mysql
# chown -R :mysql /usr/local/mysql/   (因为mysql初始化时,mysql进程要对该文件有写权限)

#bin/mysqld --user=mysql --datadir=/data/mysql/data --initialize-insecure
# 5.7的在/usr/local/mysql/bin/目录下
mkdir /var/log/mariadb
chown mysql:mysql /var/log/mariadb
touch /var/log/mariadb/mariadb.log
chmod 777 /var/log/mariadb/mariadb.log

vi /etc/my.cnf #改成以下配置,没有的加,有的改

  datadir=/data/mysql/data
  socket=/var/lib/mysql/mysql.sock
  user=mysql
  symbolic-links=0
  character_set_server=utf8
  collation-server=utf8_unicode_ci
  max_connections=1000
  innodb_buffer_pool_size=8G
  query_cache_size=128M
  tmp_table_size=256M
  key_buffer_size=32m
  read_buffer_size=4m
  sort_buffer_size=4m
  thread_cache_size=64
  log_warnings=2
  thread_stack=256M
  skip-name-resolve
  
  log-error=/var/log/mariadb/mariadb.log
  sql-mode="STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER"
  [client]
  socket=/var/lib/mysql/mysql.sock

注意:确保:(read_buffer_size + sort_buffer_size) * max_connections 要小于或等于:innodb_buffer_pool_size

innodb_buffer_pool_size 一般配成内存的1/2 ~ 1/4

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

/usr/local/mysql/bin/mysqld_safe –user=mysql –defaults-file=/usr/local/mysql/my.cnf

添加服务: 进入源码文件夹内:

  cp support-files/mysql.server /etc/init.d/mysqld   (编译目录下)
  chkconfig --add mysqld
  chmod a+wrx /etc/init.d/mysqld 
  mkdir /var/lib/mysql
  chown mysql:mysql /var/lib/mysql/
  service mysqld start

开机启动:

  chkconfig mysqld on 
mysql_linux安装步骤.1575437908.txt.gz · 最后更改: 2019/12/04 13:38 由 songdemei