centos编译安装mysql 5.6及安装多个mysql实例详解
程序员文章站
2023-11-17 13:22:58
--1.为mysql新建组和用户
# useradd -m -s /sbin/nologin mysql
--2.安装需要的库,编译器
# yum...
--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.初始化mysql数据库
# /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
推荐阅读
-
centos编译安装mysql 5.6及安装多个mysql实例详解
-
详解Lamp环境搭建Linux CentOS6.5编译安装mysql5.6
-
CentOS安装mysql5.7 及简单配置教程详解
-
CentOS Yum编译安装MySQL 5.6
-
CentOS7环境下免编译二进制包安装MySQL5.6教程
-
centos7安装mysql并jdbc测试实例详解
-
CentOS 6.6 源码编译安装MySQL 5.7.18教程详解
-
CentOS7编译安装MySQL5.7.24的教程详解
-
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
-
CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5.4 5.5 5.6 7.0 7.1多版本全能环境