创建mysql用户
useradd mysql -s /sbin/nologin -M
解压mysql的包
rz -y
tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz
改名字(先创建一个目录)
mkdir /application
mv mysql-5.5.32-linux2.6-x86_64 /application/mysql
初始化数据库
cd /application/mysql
chown -R mysql.mysql /application/mysql/data
./scripts/mysql_install_db --user=mysql --basedir=/application/mysql/ --datadir=/application/mysql/data/
#必须在一行
当出现两个ok之后可视为成功
Installing MySQL system tables...
OK
Filling help tables...
OK
修改启动脚本的默认路径
sed -i "s#/usr/local/mysql#/application/mysql#" /application/mysql/bin/mysqld_safe
PATH=$PATH:/application/mysql/bin/
创建mysql多实例的数据文件目录
mkdir -p /data/{3306,3307}/data
tree /data
创建多实例的配置文件
cd /application/mysql/support-files
cp my-small.cnf /data/3306/my.cnf
sed -i "s#/usr/local/mysql#/application/mysql#" /data/3306/my.cnf
cp my-small.cnf /data/3307/my.cnf
sed -i "s#/usr/local/mysql#/application/mysql#" /data/3306/my.cnf
修改实例330的配置文件
3306与3307的配置一样,下面以3306为例
唯一不同 的是
#skip-networking
server-id = 3
vi /data/3306/my.cnf
[client]
#password = your_password
port = 3306
socket = /data/3306/mysql.sock
[mysqld]
user = mysql
port = 3306
socket = /data/3306/mysql.sock
basedir = /application/mysql
datadir = /data/3306/data
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
pid-file = /data/3306/mysql.pid
relay-log = /data/3306/relay-bin
relay-log-info-file = /data/3306/relay-log.info
#skip-networking
server-id = 1
在最后一行添加一行
[mysqld_safe]
log-error=/data/3306/mysql_oldboy3306.err
pid-file=/data/3306/mysqld.pid
创建mysql多实例的启动文件
cp mysql.server /data/3306/mysql
cp mysql.server /data/3307/mysql
配置mysql多实例的文件权限
chown -R mysql.mysql /data
find /data/ -name mysql|xargs ls -l
find /data/ -name mysql|xargs chmod 700
初始化mysql多实例的数据库文件
cd /application/mysql/scripts
./mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql
./mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data --user=mysql
启动mysql多实例数据库
cd /application/mysql/bin
./mysqld_safe --defaults-file=/data/3306/my.cnf &
./mysqld_safe --defaults-file=/data/3307/my.cnf &
查看端口号
netstat -anput |grep 330
停止3306/7实例命令
mysqladmin -S /data/3306/mysql.sock shutdown
mysqladmin -S /data/3307/mysql.sock shutdown
登陆mysql测试
mysql -S /data/3306/mysql.sock
mysql -S /data/3307/mysql.sock
给3306设置密码并登陆测试
mysqladmin -uroot -S /data/3306/mysql.sock password '123456'
mysql -uroot -p123456 -S /data/3306/mysql.sock