#linux上mysql5.7多实例安装详细步骤
一步一步的教你如何在一台服务器上安装多个mysql实例
步骤
1、解压上传的mysql安装包:
tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
2、将解压好的mysql移动到/usr/local/mysql
cp mysql-5.7.25-linux-glibc2.12-x86_64 /usr/local/mysql
3、在/home/mysql/下创建数据文件
mkdir data330{6…8}
4、编辑my.cnf文件 存放/etc/
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
log = /home/mysql/mysqld_multi.log
[mysqld]
user=mysql
basedir = /usr/local/mysql
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysqld3306]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/home/mysql/data3306/data
port=3306
server_id=3306
socket=/tmp/data3306.sock
log-output=file
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /home/mysql/mysql3306/log/slow.log
log-error = /home/mysql/mysql3306/log/error.log
binlog_format = mixed
log-bin = /home/mysql/mysql3306/log/mysql3306_bin
[mysqld3308]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/home/mysql/data3308/data
port=3308
server_id=3308
socket=/tmp/data3308.sock
log-output=file
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /home/mysql/mysql3308/log/slow.log
log-error = /home/mysql/mysql3308/log/error.log
binlog_format = mixed
log-bin = /home/mysql/mysql3308/log/mysql3308_bin
单独实例初始化使用文件,要与my.cnf文件配置一致 存放//home/mysql/data3306/
[client]
port= 3306
socket= /home/mysql/data3306/mysql.sock
default-character-set=utf8
[mysqld]
user=mysql
port=3306
basedir=/usr/local/mysql
datadir=/home/mysql/data3306/data
server_id=3306
socket=/home/mysql/data3306/mysql.sock
log-output=file
slow_query_log=1
long_query_time=1
slow_query_log_file=/home/mysql/data3306/log/slow.log
symbolic-links=0
log-error=/home/mysql/data3306/log/error.log
log-bin=/home/mysql/data3306/log/bin.log
pid-file=/home/mysql/data3306/mysql3306.pid
binlog_format=mixed
lower-case-table_names=1
log-bin-trust-function-creators=1
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
character-set-server=utf8
max_connections=1000
max_allowed_packet = 1024M
5、在对应的data3306创建日志文件夹及文件
6、开始赋权限;chown mysql:mysql -R /home/mysql/
chown mysql:mysql -R /usr/local/mysql
7、初始化数据库:
/usr/local/mysql/bin/mysqld --defaults-file=/home/mysql/data3306/3306.cnf --initialize --basedir=/usr/local/mysql/ --datadir=/home/mysql/data3306/data
这里会生成默认密码,可以去error.log中看,
./mysqld_safe --defaults-file=/home/mysql/data3306/3306.cnf &
这里生成mysql.sock文件
/usr/local/mysql/bin/mysqld --defaults-file=/home/mysql/data3306/3308.cnf --initialize --basedir=/usr/local/mysql/ --datadir=/home/mysql/data3308/data
./mysqld_safe --defaults-file=/home/mysql/data3306/3306.cnf &
8、以上基本完成mysql的初始化,马上就可以连接了
mysql -uroot -p -S /home/mysql/data3308/mysql.sock
输入刚刚生成的初始化密码
( mysql -uroot -p -S /home/mysql/data3306/mysql.sock 同样)
9、然后连接上mysql你就可以修改密码了,
set password=‘123456’; 现在root的密码就是123456了
10、远程连接,你可以赋予一个用户远程权限
grant all privileges on . to ‘test’@’%’ identified by ‘test’ with grant option;
flush privileges;
可以用远程工具(navicat等)
输入远程地址、端口、用户名密码连接测试就可以了。
注意:如果生成不了mysql.sock文件时,一定要注意第6步文件权限可以使用命令:ll
查看。再查看用户状态是否ok。
相关问题:解决方案:https://help.aliyun.com/knowledge_detail/41106.html?spm=a2c6h.13066369.0.0.301f105bl8OVfn