详细介绍centos编译安装mysql5.6及安装多个mysql的示例代码分享

这篇文章主要介绍了centos编译安装mysql 5.6及安装多个mysql实例详解,需要的朋友可以参考下

–1.为mysql新建组和用户

# useradd -M -s /sbin/nologin mysql

–2.安装需要的库,编译器

# yum install ncurses-devel openssl-devel cmake -y

–3.解压

# tar zxvf mysql-5.6.35.tar.gz  # cd mysql-5.6.35

–4.编译安装

# cmake   -DCMAKE_INSTALL_PREFIX=/usr/local/mysql   -DMYSQL_DATADIR=/usr/local/mysql/data   -DSYSCONFDIR=/etc   -DWITH_MYISAM_STORAGE_ENGINE=1   -DWITH_INNOBASE_STORAGE_ENGINE=1   -DWITH_MEMORY_STORAGE_ENGINE=1   -DWITH_READLINE=1   -DMYSQL_TCP_PORT=3306   -DENABLED_LOCAL_INFILE=1   -DWITH_PARTITION_STORAGE_ENGINE=1   -DEXTRA_CHARSETS=all   -DDEFAULT_CHARSET=utf8   -DDEFAULT_COLLATION=utf8_general_ci   -DMYSQL_USER=mysql   -DWITH_DEBUG=0   -DWITH_SSL=system  # make  # make install

–5.拷贝模版,作为配置文件

# cp support-files/my-default.cnf /etc/my.cnf

–6.设置mysql权限

# chown -R mysql.mysql /usr/local/mysql/

–7.初始化配置文件

# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql  # chown -R root /usr/local/mysql/  # chown -R mysql /usr/local/mysql/data/

–8.设置mysql开机自启动

# cp support-files/mysql.server /etc/init.d/mysqld  # chmod +x /etc/init.d/mysqld  # chkconfig mysqld on

–9.测试并运行mysql

#service mysqld start

–10.修改mysql管理员密码

#/usr/local/mysql/bin/mysqladmin -u root password '要设置的密码'

–11.使用配置文件mysql

# /usr/local/mysql/bin/mysql -u root -p

–12.加入环境配置文件

# echo 'PATH=/usr/local/mysql/bin/:$PATH' >>/etc/profile  # source /etc/profile

            CentOS 6.5最小化编译安装mysql 5.5.35配置多实例

1、关闭防火墙

1234567 [root@mysql ~]# service iptables stop  iptables: Setting chains to policy ACCEPT: filter   [ OK ]  iptables: Flushing firewall rules:       [ OK ]  iptables: Unloading modules:        [ OK ]  [root@mysql ~]# chkconfig iptables off  [root@mysql ~]# chkconfig iptables --list  iptables  0:off 1:off 2:off 3:off 4:off 5:off 6:off

2、关闭selinux

12 [root@mysql ~]# setenforce 0  [root@mysql ~]# vim /etc/sysconfig/selinux

修改下面这一行;

SELINUX=disabled  12 [root@mysql ~]# getenforce   Permissive

3、安装mysql依赖包及编译工具;

1234 [root@mysql ~]# yum install libaio-devel -y  [root@mysql ~]# yum install -y ncurses-devel  [root@mysql ~]# yum install -y gcc gcc-c++   [root@mysql ~]# yum install -y cmake

4、安装前准备;

4.1、安装路径:

1 [root@mysql ~]# mkdir /usr/local/mysql

4.2、数据库路径:

1 [root@mysql ~]# mkdir /data/mysql -p

4.3、创建用户和用户组

12 [root@mysql ~]# groupadd mysql  [root@mysql ~]# useradd -r -g mysql -s /bin/false mysql

4.4、赋予数据存放目录权限

1 [root@mysql ~]# chown mysql:mysql -R /data/mysql

5、编译安装mysql 5.5.35

1234567 [root@mysql ~]# yum install -y lrzsz  root@mysql ~]# mkdir /package  [root@mysql ~]# cd /package/  [root@mysql package]# tar xf mysql-5.5.32.tar.gz   [root@mysql package]# cd mysql-5.5.32  [root@mysql mysql-5.5.32]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql   -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock   -DDEFAULT_CHARSET=utf8   -DDEFAULT_COLLATION=utf8_general_ci   -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk   -DWITH_INNOBASE_STORAGE_ENGINE=1   -DWITH_READLINE=1   -DENABLED_LOCAL_INFILE=1   -DMYSQL_DATADIR=/data/mysql/   -DMYSQL_USER=mysql   -DMYSQL_TCP_PORT=3306  [root@mysql mysql-5.5.32]# make && make install

6、创建多实例数据库文件存放位置;

12345678 [root@mysql ~]# mkdir -p /data/{3306,3307}/data  [root@mysql ~]# tree /data  /data  |-- 3306  |  `-- data  `-- 3307    `-- data  4 directories, 0 files

7、修改配置文件(my.cnf)如下行,分别放入3306、3307目录当中;

123456789 [root@mysql 3306]# vim my.cnf   [client]  port      = 3306  socket     = /data/3306/mysql.sock  [mysqld]  port      = 3306  socket     = /data/3306/mysql.sock  datadir     = /data/3306  server-id    = 3306

8、初始化数据库;

注意:初始化数据库时需要指定不同的数据目录

123 [root@mysql mysql-5.5.32]# cd /usr/local/mysql/  [root@mysql mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306  [root@mysql mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307

9、启动多实例,启动脚本可以加入到开机自启动文件中。

12 [root@mysql mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 >/dev/null &    [root@mysql mysql]# /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3307/my.cnf 2>&1 >/dev/null &

9.1、查看端口;

12345678 [root@mysql mysql]# netstat -tunlp  Active Internet connections (only servers)  Proto Recv-Q Send-Q Local Address        Foreign Address       State    PID/Program name    tcp    0   0 0.0.0.0:3307        0.0.0.0:*          LISTEN   11621/mysqld      tcp    0   0 0.0.0.0:22         0.0.0.0:*          LISTEN   1266/sshd        tcp    0   0 0.0.0.0:3306        0.0.0.0:*          LISTEN   11338/mysqld      tcp    0   0 :::22            :::*            LISTEN   1266/sshd        udp    0   0 0.0.0.0:68         0.0.0.0:*                969/dhclient

10、登录多实例数据库

12 [root@mysql mysql]# /usr/local/mysql/bin/mysql -u root -p -P 3306 -S /data/3306/mysql.sock  [root@mysql mysql]# /usr/local/mysql/bin/mysql -u root -p -P 3307 -S /data/3307/mysql.sock

11、关闭mysql多实例方式

12 [root@mysql mysql]# /usr/local/mysql/bin/mysqladmin -u root -p -P 3306 -S /data/3306/mysql.sock shutdown    [root@mysql mysql]# /usr/local/mysql/bin/mysqladmin -u root -p -P 3307 -S /data/3307/mysql.sock shutdown  cat /etc/my.cnf   [mysqld1]  datadir=/data/mysql  socket=/tmp/mysql.sock  user=mysql  symbolic-links=0  skip-name-resolve  server-id=1221  max_connections = 2000  binlog-ignore-db=mysql  binlog-ignore-db=test  binlog-ignore-db=information_schema  binlog-ignore-db=performance_schema  innodb_buffer_pool_size = 2G  innodb_additional_mem_pool=16M  innodb_log_file_size=256M  innodb_flush_log_at_trx_commit=2  character_set_server=utf8  collation_server = utf8_general_ci  replicate_ignore_db = mysql  slave-skip-errors=all  relay_log=/data/mysql/  [mysqld2]  port=3307  server-id=1222  log-error=/tmp/mysqld2.log  datadir=/data/mysql_live  socket=/tmp/mysql2.sock  user=mysql  symbolic-links=0  skip-name-resolve  character_set_server=utf8  collation_server = utf8_general_ci  max-connections=500  default-storage-engine=INNODB  innodb_file_per_table  log-bin=mysql-bin  relay-log-info-repository=TABLE  master-info-repository=TABLE  expire_logs_days=10  binlog_format=ROW  transaction-isolation=READ-COMMITTED  binlog-ignore-db=mysql  binlog-ignore-db=test  binlog-ignore-db=information_schema  binlog-ignore-db=performance_schema  slow_query_log=TRUE  slow_query_log_file=/tmp/mysqld_slow_query2.log  long_query_time=3  replicate_ignore_db = mysql  slave-skip-errors=all  [mysqld3]  server-id=1223  port=3308  log-error=/tmp/mysqld3.log  datadir=/data/mysql  socket=/tmp/mysql3.sock  user=mysql  symbolic-links=0  skip-name-resolve  character_set_server=utf8  collation_server = utf8_general_ci  max-connections=500  default-storage-engine=INNODB  innodb_file_per_table  log-bin=mysql-bin  relay-log-info-repository=TABLE  master-info-repository=TABLE  expire_logs_days=10  binlog_format=ROW  transaction-isolation=READ-COMMITTED  binlog-ignore-db=mysql  binlog-ignore-db=test  binlog-ignore-db=information_schema  binlog-ignore-db=performance_schema  slow_query_log=TRUE  slow_query_log_file=/tmp/mysqld_slow_query3.log  long_query_time=3  replicate_ignore_db = mysql  slave-skip-errors=all  [mysqld_safe]  log-error=/var/log/mysqld.log  pid-file=/data/mysql/mysqld.pid

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享