这里有新鲜出炉的 Mysql 教程,程序狗速度看过来!
MySQL 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典 MySQL AB 公司。MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 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. 初始化 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
来源: http://www.phperz.com/article/17/0813/339435.html