1. 程式人生 > >Centos 6.10 mysql 5.7.22多例項安裝

Centos 6.10 mysql 5.7.22多例項安裝

依賴
yum -y install gcc gcc-c++ glibc numactl perl-Time-HiRes per-devel libaio libstdc++ libstdc ncurses-libs wget unzip ntp

下載mysql
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

建立使用者
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

解壓mysql
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
mv /root/mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql

建立目錄
cd /usr/local/mysql
mkdir -p /var/run/mysqld
mkdir -p /usr/local/mysql/data3306 /usr/local/mysql/binlog3306
mkdir -p /usr/local/mysql/data3307 /usr/local/mysql/binlog3307

賦予許可權
chmod 750 /var/run/mysqld /usr/local/mysql/data* /usr/local/mysql/binlog*
chown -R mysql:mysql /usr/local/mysql/ /var/run/mysqld

配置檔案配置
vi /etc/my.cnf
[mysqld_multi]
mysqld     = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
#user       = root
#password   = Report@123
 
[mysqld3306]  
port = 3306
server_id = 3306
basedir =/usr/local/mysql
datadir =/usr/local/mysql/data3306
log-bin=/usr/local/mysql/binlog3306/mysql-bin
socket =/tmp/mysql3306.sock  
log-error =/var/log/mysqld3306.log
pid-file =/var/run/mysqld/mysqld3306.pid
 
[mysqld3307]  
port = 3307
server_id = 3307
basedir =/usr/local/mysql
datadir =/usr/local/mysql/data3307
log-bin=/usr/local/mysql/binlog3307/mysql-bin
socket =/tmp/mysql3307.sock  
log-error =/var/log/mysqld3307.log
pid-file =/var/run/mysqld/mysqld3307.pid

新增環境變數
echo "PATH=$PATH:/usr/local/mysql/bin  " >> /etc/profile
source /etc/profile

安裝
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data3306 --explicit_defaults_for_timestamp
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data3307 --explicit_defaults_for_timestamp

啟動例項服務
mysqld_multi report
mysqld_multi start 3306,3307

訪問資料庫(進入後要求更改root密碼)
mysql -u root -p -S /tmp/mysql3306.sock
Enter password:
 
mysql -u root -p -S /tmp/mysql3307.sock
Enter password:
 
配置Mysql 密碼以及許可權
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Report@123';

允許root使用者在任何地方進行遠端登入,並具有所有庫任何操作許可權
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Report@123' WITH GRANT OPTION;
FLUSH PRIVILEGES;

 
可用埠登入
mysql -h 192.168.31.10 -u root -p -P3306
mysql -h 192.168.31.10 -u root -p -P3307

閉某個例項
mysqladmin -uroot -prootpwd -S /tmp/mysql3306.sock shutdown