Linux 安装mysql

安装编译源码所需的工具和库 准备

yum install gcc gcc-c++ ncurses-devel perl 

 安装cmake

wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz 
tar zxvf cmake-2.8.10.2.tar.gz cmake
cd cmake
./configure
make
make install
cmake -version

 

-DCMAKE_INSTALL_PREFIX=dir_name     设置mysql安装目录
-DMYSQL_UNIX_ADDR=file_name     设置监听套接字路径,这必须是一个绝对路径名。默认为/tmp/mysql.sock
-DDEFAULT_CHARSET=charset_name     设置服务器的字符集。
缺省情况下,MySQL使用latin1的(CP1252西欧)字符集。cmake/character_sets.cmake文件包含允许的字符集名称列表。
-DDEFAULT_COLLATION=collation_name     设置服务器的排序规则。
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1     存储引擎选项:

MyISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。

静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1

可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)
-DMYSQL_DATADIR=dir_name     设置mysql数据库文件目录
-DMYSQL_TCP_PORT=port_num     设置mysql服务器监听端口,默认为3306
-DENABLE_DOWNLOADS=bool     是否要下载可选的文件。例如,启用此选项(设置为1),cmake将下载谷歌所使用的测试套件运行单元测试。

 

 

创建mysql 安装目录

[root@iZgahlk1l73998Z cmake]# mkdir -p /usr/local/webserver/mysql
[root@iZgahlk1l73998Z cmake]# mkdir -p /usr/local/webserver/mysql/data

 

 添加mysql 用户和组

groupadd mysql  
useradd -r -g mysql mysql 

 设置目录用户

[root@iZgahlk1l73998Z mysql]# chown -R mysql:mysql ./data/

 

下载 mysql source code  采用的是源码包安装  还有rpm

[root@iZgahlk1l73998Z src]# wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.37.tar.gz
[root@iZgahlk1l73998Z src]# tar zxvf mysql-5.6.37.tar.gz

查看mysql目录文件下所有文件(查看是为了之前安装Linux generic 报错 CMake  CMakeCache.txt) OK 这个有 就是你下载的版本不对  出错详情可查看http://www.cnblogs.com/buxiangxin/p/7217572.html

[root@iZgahlk1l73998Z mysql-5.6.37]# ls
BUILD           cmake_install.cmake  COPYING                  Docs                 INSTALL      make_dist.cmake  mysys_ssl  scripts           storage        VERSION
client          CMakeLists.txt       CPackConfig.cmake        Doxyfile-perfschema  libevent     Makefile         packaging  source_downloads  strings        VERSION.dep
cmake           cmd-line-utils       CPackSourceConfig.cmake  extra                libmysql     man              plugin     sql               support-files  vio
CMakeCache.txt  config.h.cmake       CTestTestfile.cmake      include              libmysqld    mysql-test       README     sql-bench         tests          win
CMakeFiles      configure.cmake      dbug                     info_macros.cmake    libservices  mysys            regex      sql-common        unittest       zlib
[root@iZgahlk1l73998Z mysql-5.6.37]# 

 

cmake mysql 安装

[root@iZgahlk1l73998Z mysql-5.6.37]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/ 
-DMYSQL_UNIX_ADDR=/usr/local/webserver/mysql/mysql.sock  
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATTON=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 
-DWITH_ARCHIVE_STORAGE_ENGINE=1 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
 -DMYSQL_DATADIR=/usr/local/webserver/mysql/data/mysqldb 
-DMYSQL_TCP_PORT=3306
 -DENABLE_DOWNLOADS=1

 

 

 编译安装 时间比较长

[root@iZgahlk1l73998Z mysql-5.6.37]# make
[root@iZgahlk1l73998Z mysql-5.6.37]# make install

 修改数据库文件目录

这里需要注意一点

[root@iZgahlk1l73998Z data]# chown -R mysql:mysql ./
[root@iZgahlk1l73998Z data]# ll
total 4
drwxr-xr-x 2 mysql mysql 4096 Jul 21 14:51 test

 现在开始初始化数据库 但是报错 看信息

[root@iZgahlk1l73998Z mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/webserver/mysql/data/mysqldb/
Installing MySQL system tables...2017-07-21 16:05:28 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-07-21 16:05:28 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2017-07-21 16:05:28 0 [Note] ./bin/mysqld (mysqld 5.6.37) starting as process 29642 ...
2017-07-21 16:05:28 29642 [ERROR] COLLATION 'latin1_swedish_ci' is not valid for CHARACTER SET 'utf8'
2017-07-21 16:05:28 29642 [ERROR] Aborting

2017-07-21 16:05:28 29642 [Note] Binlog end
2017-07-21 16:05:28 29642 [Note] ./bin/mysqld: Shutdown complete

 

 一个个解决 解决方案

http://www.cnblogs.com/buxiangxin/p/7218652.html
http://www.cnblogs.com/buxiangxin/p/7218631.html

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

  /usr/local/webserver/mysql//bin/mysqladmin -u root password 'new-password'
  /usr/local/webserver/mysql//bin/mysqladmin -u root -h iZgahlk1l73998Z password 'new-password'

Alternatively you can run:

  /usr/local/webserver/mysql//bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:

  cd . ; /usr/local/webserver/mysql//bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

  cd mysql-test ; perl mysql-test-run.pl

Please report any problems at http://bugs.mysql.com/

The latest information about MySQL is available on the web at

  http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

WARNING: Found existing config file /usr/local/webserver/mysql//my.cnf on the system.
Because this file might be in use, it was not replaced,
but was used in bootstrap (unless you used --defaults-file)
and when you later start the server.
The new default config file was created as /usr/local/webserver/mysql//my-new.cnf,
please compare it with your file and take the changes you need.

 OK

创建启动脚本

 

posted @ 2017-07-21 11:32  王先生架构  阅读(182)  评论(0编辑  收藏  举报
失独者之家