mysql多实例安装
-
解压
tar -zxvf ./mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz mv mysql-5.7.9-linux-glibc2.5-x86_64 mysql-5.7.9 ln -s /home/xxx/mysql-5.7.9 /usr/local/mysql
-
安装依赖
yum -y install perl perl-devel
-
添加用户
useradd mysqluser passwd mysqluser
-
添加数据目录
mkdir -p /data/3307 mkdir -p /data/3308 mkdir -p /usr/local/mysql/data chown -R mysqluser:mysqluser /usr/local/mysql/data chmod -R 775 /usr/local/mysql/data
-
赋予权限
chown -R mysqluser:mysqluser /usr/local/mysql/* chown -R mysqluser:mysqluser /data/* chmod -R 775 /usr/local/mysql/* chmod -R 775 /data/*
-
编辑/etc/my.cnf
[mysqld] sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER" [mysqld_multi] mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /usr/local/mysql/bin/mysqladmin log = /var/log/mysqld_multi.log [mysqld3307] server-id = 13307 socket = /tmp/mysql.sock3307 port = 3307 datadir = /data/3307 user = mysqluser performance_schema = off innodb_buffer_pool_size = 32M skip_name_resolve = 1 log_error = error.log pid-file = /data/3307/mysql.pid3307 [mysqld3308] server-id = 13308 socket = /tmp/mysql.sock3308 port = 3308 datadir = /data/3308 user = mysqluser performance_schema = off innodb_buffer_pool_size = 32M skip_name_resolve = 1 log_error = error.log pid-file = /data/3308/mysql.pid3308
-
设置环境变量和初始化mysql
vi /etc/profile export MYSQL_HOME=/usr/local/mysql export PATH=$MYSQL_HOME/bin:$PATH source /etc/profile #注意保存密码 3307: Yn*wdTxij7;b 3308: uJrh.=jeg5<_ mysqld --initialize --user=mysqluser --datadir=/data/3307 mysqld --initialize --user=mysqluser --datadir=/data/3308
-
启动脚本
cp /usr/local/mysql/support-files/mysqld_multi.server /etc/init.d/mysqld_multid mysqld_multi start # 查看状态 mysqld_multi report # is not running看错误信息对症下药,自己处理下 mysqld # 修改密码 mysql -u root -S /tmp/mysql.sock3307 -p -P3307 update mysql.user set authentication_string=password('root@1234') where user='root'; mysql -u root -S /tmp/mysql.sock3308 -p -P3308 update mysql.user set authentication_string=password('root@1234') where user='root'; # 进入多实例注意带-S指定sock套接字文件 mysql -u root -p -P3307 -S /tmp/mysql.sock3307
可能报错
Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock3308’ (2)
vi /etc/my.cnf
在[mysqld]下加入
skip-grant-table
再试一试
mysql -u root -S /tmp/mysql.sock3307 -p -P3307
进入改完密码后再把他删掉把
不行,就自己百度吧 -_-