太阳集团所有网址16877linux-Centos7安装mysql5.7.19,

CentOS6.9 Mysql5.7.18源码安装教程

  CentOS6.9 Mysql5.7.18源码安装,以下操作均在root用户下执行。

  1、安装依赖工具

  cmake make3.75 gcc4.4.6 Boost1.59.0 bison ncurses

  yum install -y cmake,make,gcc,gcc-c ,bison, ncurses,ncurses-devel

  cd /opt

  wget

  或者向度娘要一个

  tar -zxvf boost_1_59_0.tar.gz -C /usr/local/

  2、下载mysql准备安装

  git clone

  没有git就 yum install git装一个

  选择5.7

  创建mysql用户,用户组为root

  useradd -r -g root -s /bin/false mysql

  3、执行cmake

  cd /opt/mysql-server5.7

  cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

  -DMYSQL_DATADIR=/usr/local/mysql/data

  -DWITH_BOOST=/usr/local/boost_1_59_0

  -DMYSQL_UNIX_ADDR=/tmp/mysql.sock

  -DSYSCONFDIR=/etc

  -DEFAULT_CHARSET=utf8

  -DDEFAULT_COLLATION=utf8_general_ci

  -DENABLED_LOCAL_INFILE=1

  -DEXTRA_CHARSETS=all

  -DCMAKE_INSTALL_PREFIX:安装路径-DMYSQL_DATADIR:数据存放目录-DWITH_BOOST:boost源码路径-DSYSCONFDIR:my.cnf配置文件目录-DEFAULT_CHARSET:数据库默认字符编码-DDEFAULT_COLLATION:默认排序规则-DENABLED_LOCAL_INFILE:允许从本文件导入数据-DEXTRA_CHARSETS:安装所有字符集 4、编译安装

  make -j `grep processor /proc/cpuinfo | wc -l`

  make install

  -j参数表示根据CPU核数指定编译时的线程数,可以加快编译速度。

  如果中途编译失败了,需要删除cmake生成的预编译配置参数的缓存文件和make编译后生成的文件,再重新编译。

  cd /opt/mysql-server5.7

  rm -f CMakeCache.txt

  make clean

  5、初始化系统数据库

  vim /etc/my.cnf

  进入insert模式,将原来内容替换成如下内容:  CentOS6.9 Mysql5.7.18源码安装教程

  [client]

  port=3306

  socket=/temp/mysql.sock

  [mysqld]

  character-set-server=utf8

  collation-server=utf8_general_ci

  skip-external-locking

  skip-name-resolve

  user=mysql

  port=3306

  basedir=/usr/local/mysql

  datadir=/usr/local/mysql/data

  tmpdir=/usr/local/mysql/temp

  # server_id = .....

  socket=/usr/local/mysql/mysql.sock

  log-error=/usr/local/mysql/logs/mysql_error.log

  pid-file=/usr/local/mysql/mysql.pid

  open_files_limit=10240

  back_log=600

  max_connections=500

  max_connect_errors=6000

  wait_timeout=605800

  #open_tables=600

  #table_cache = 650

  #opened_tables = 630

  max_allowed_packet=32M

  sort_buffer_size=4M

  join_buffer_size=4M

  thread_cache_size=300

  query_cache_type=1

  query_cache_size=256M

  query_cache_limit=2M

  query_cache_min_res_unit=16k

  tmp_table_size=256M

  max_heap_table_size=256M

  key_buffer_size=256M

  read_buffer_size=1M

  read_rnd_buffer_size=16M

  bulk_insert_buffer_size=64M

  lower_case_table_names=1

  default-storage-engine=INNODB

  innodb_buffer_pool_size=2G

  innodb_log_buffer_size=32M

  innodb_log_file_size=128M

  innodb_flush_method=O_DIRECT

  #####################

  thread_concurrency=32

  long_query_time=2

  slow-query-log=on

  slow-query-log-file=/usr/local/mysql/logs/mysql-slow.log

  [mysqldump]

  quick

  max_allowed_packet=32M

  [mysqld_safe]

  log-error=/var/log/mysqld.log

  pid-file=/var/run/mysqld/mysqld.pid

  cd /usr/local/mysql

  mkdir data

  mkdir logs

  mkdir temp

  chmod 0770 -R .

  ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --socket=/tmp/mysql.sock

  在MySQL 5.7.6版本以前是 bin/mysql_install_db --user

  执行完成后,查看 logs/mysql_error.log文件,将里面的临时root密码记下来

  A temporary password is generated for [email protected]: xxxxxxxxxx

  6、配置mysql

  chkconfig --add mysqld # 添加到系统服务

  chkconfig mysqld on # 开机启动

  service mysqld start启动不成功,使用safe模式启动

  chown -R mysql:root /var/run/mysqld

  ./bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &

  ./mysql -uroot -p

  输入mysql_error.log中的临时密码登入mysql控制台

  set password='asdfghjkl'';

  Query OK, 0 rows affected (0.00 sec)

  show warnings;

  停止mysql

  mysqladmin -u root -p shutdown

  输入刚才设置的密码,停止成功

  接下来可以使用系统服务来启动mysql了:

  service mysqld start # 启动mysql服务

CentOS6.9 Mysql5.7.18源码安装,以下操作均在root用户下执行。 1、安装依赖工具 cmake make3.75 gcc4.4.6 Boost1.59.0 bi...

linux-Centos7安装mysql5.7.19,mysql5.7.19

1.下载mysql

网址:

太阳集团所有网址16877 1

 

2.选择源码包,通用版点击下载

 

太阳集团所有网址16877 2

 

直接下载就可以了,不用登录

 

太阳集团所有网址16877 3

 

3.解压编译

tar -zxvf  mysql-5.7.19.tar.gz

cd mysql-5.7.19.tar.gz

创建数据目录  mkdir -p /data/mysql    

先用cmake编译,没有这个命令需要先yum安装

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/     #这个是编译安装之后的mysql目录所在地,可自行更改

-DMYSQL_DATADIR=/data/mysql/               #这个指向数据目录

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock

-DSYSCONFDIR=/usr/local/mysql/conf/

-DWITH_MYISAM_STORAGE_ENGINE=1

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_MEMORY_STORAGE_ENGINE=1

-DWITH_READLINE=1

-DMYSQL_TCP_PORT=3306

-DENABLED_LOCAL_INFILE=1

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DMYSQL_USER=mysql

-DWITH_SSL=system

-DWITH_ZLIB=system -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost    #从MySQL 5.7.5开始Boost库是必需安装的

编译之后make && make install  漫长的等待....之后就安装完成了

 

安装完成之后路径/usr/local/ 下面会有一个目录 mysql,这个目录就是我编译安装设置的路径-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/

一般为了安全起见,我们都会创建一个mysql用户和mysql组,执行以下命令

#添加用户组 groupadd mysql #添加用户mysql 到用户组mysql useradd -g mysql mysql   给予mysql权限 chown -R mysql:mysql mysql

 

4.接下来配置启动向,设置开机启动

  1. cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  2. chmod  x /etc/init.d/mysqld
  3. chkconfig --add mysqld
  4. chkconfig mysqld on 

 

 

配置/ect/my.cnf,如果没有my.cnf可自行新建添加 ,  仅供参考

[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

 

接下来就执行初始化数据库语句:

注意 mysql_install_db 已经不再推荐使用了,建议改成 mysqld –initialize 完成实例初始化。

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

这步很重要,如果没有初始化直接启动数据库会报错

ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).

如果初始化失败或者报以下错误,就需要先清空你的/data/mysql目录了,因为mysql目录下面有数据所以初始化执行中止。

2017-08-29T13:39:47.241469Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2017-08-29T13:39:47.241536Z 0 [ERROR] Aborting

清空之后再重新初始化

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

 

 

接下来可以启动mysql了

service mysqld start

登录测试

/usr/local/mysql/bin/mysql -uroot -p

因为初始化--initialize-insecure 是默认没有密码的所以密码不用输入直接确定就行了;

 

假如登录报错

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

检查一下你启动数据库成功没  可执行  ps -ef | grep mysql  看看进程是不是启动状态

 

空密码不安全所以我们还要设置密码,下面命令中的"root"就是设置密码区域,我的密码设置为root,可自行修改

[[email protected] local]# /usr/local/mysql/bin/mysql -e "grant all privileges on *.* to [email protected]'127.0.0.1' identified by "root" with grant option;"
[[email protected] local]# /usr/local/mysql/bin/mysql -e "grant all privileges on *.* to [email protected]'localhost' identified by "root" with grant option;"

 

接下来再登录测试一次密码修改成功没有就完成啦!

 

 

1.下载mysql 网址: 2.选择源码包,通用版点击下载 直接下载就可以了,不用...

本文由太阳集团所有网址16877发布于太阳集团城网址送彩金,转载请注明出处:太阳集团所有网址16877linux-Centos7安装mysql5.7.19,

您可能还会对下面的文章感兴趣: