一、单实例安装mysql5.7.14
1.1、查看是否安装过mysql
[root@server136 ~]# ps -ef | grep mysql*
1.2、解压mysql软件包
[root@server136 ~]#tar zxvf mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz
1.3、新建mysql用户名和组
[root@server136 ~]#groupadd mysql
[root@server136 ~]#useradd -g mysql -r mysql #r代表新建系统用户不能登录
1.4、把mysql copy到/usr/local并重命名为mysql
[root@server136 ~]# cp -R mysql-5.7.14-linux-glibc2.5-x86_64 /usr/local/
[root@server136 ~]#mv mysql-5.7.14-linux-glibc2.5-x86_64/ mysql
或
[root@server136 ~]# ln -sv mysql-5.7.14-linux-glibc2.5-x86_64 /usr/local/mysql/
1.5、建立数据文件夹,并更改属主和属组
[root@server136 ~]#mkdir -p /data/{3306,3307,3308}
[root@server136 ~]#chown -R mysql.mysql /usr/local/mysql/
[root@server136 ~]#chown -R mysql.mysql /data/
1.6、配置环境
[root@server136 ~]#echo "export PATH=$PATH:/usr/local/mysql/bin/" >>/etc/profile
[root@server136 ~]#source /etc/profile
1.7、初始化安装mysql;--initialize-insecure这个参数代表不设密码
[root@server136 ~]#/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/3306/
1.8、cp配置和启动文件,并编辑my.cnf
[root@server136 ~]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
[root@server136 ~]#cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@server136 ~]#vi /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /data/3306
port = 3306
server_id = 1
socket =/data/3306/mysql.sock
symbolic-links = 0
character_set_server = utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
socket=/data/3306/mysql.sock
1.9、启动数据库并设置密码
[root@server136 ~]#/etc/init.d/mysqld start
[root@server136 ~]#mysql
mysql> update mysql.user set authentication_string=password('lila3306') where user='root';
mysql> flush privileges;
mysql> exit
二、多实例配置
2.1、cp多实例脚本服务到/etc/init.d,并重命名
[root@server136 ~]#cp /usr/local/mysql/support-files/mysqld_multi.server /etc/init.d/mysqld_multi
2.2、初始化安装另外两个数据库
[root@server136 ~]#/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/3307/
[root@server136 ~]#/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/3308/
2.3、配置多实例数据库配置文件
[root@server136 ~]# vi /etc/my.cnf
[mysqld_multi]
mysqld=/usr/local/mysql/bin/mysqld_safe
mysqladmin=/usr/local/mysql/bin/mysqladmin
log=/data/mysql_multi.log
user = root
password = redhat
[mysqld3306]
basedir=/usr/local/mysql
datadir=/data/3306
port=3306
server_id=1
socket=/data/3306/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/data/3306/mysql.pid
log_error=/data/3306/3306.err
[mysqld3307]
datadir=/data/3307
port=3307
socket=/data/3307/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/data/3307/mysql.pid
log_error=/data/3307/3307.err
[mysqld3308]
datadir=/data/3308
port=3308
socket=/data/3308/mysql.sock
symbolic-links=0
character_set_server=utf8
pid-file=/data/3308/mysql.pid
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
2.4、启动多实例,并查看服务是否启动
[root@server136 ~]# /etc/init.d/mysqld_multi start
[root@server136 ~]# /etc/init.d/mysqld_multi report
Reporting MySQL servers
MySQL server from group: mysqld3306 is running
MySQL server from group: mysqld3307 is running
MySQL server from group: mysqld3308 is running
[root@server136 ~]#
2.5、登录数据库(注意,必须跟端口号和主机地址,否则会报错)
[root@server136 ~]# mysql -uroot -P3307 -h127.0.0.1 -p