MySQL_安装并配置mysql多实例数据库

时间:2023-02-07 09:04:03
1. 采取cmake方式安装mysql数据库
        具体操作参考之前的笔记.........
 
2.部署多实例的MySQL数据库,将data.zip上传到服务器/目录下
1)mkdir -pv /data/{3306,3307}/data
2)cd / && unzip data.zip
Archive:  data.zip
  inflating: data/3306/my.cnf       
  inflating: data/3306/mysql        
  inflating: data/3307/my.cnf       
  inflating: data/3307/mysql
 
3.授权及增加执行权限
chown -R mysql.mysql /data
find /data/ -type f -name "mysql"|xargs chmod 700
 
4.初始化数据库(两个实例分别初始化)
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
 
5.启动多实例
/data/3306/mysql start
Starting MySQL...
/data/3307/mysql start 
Starting MySQL...
[root@db02 scripts]# netstat -lntup|grep 330
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      2353/mysqld         
tcp        0      0 0.0.0.0:3307                0.0.0.0:*                   LISTEN      3070/mysqld 
 
6.配置MySQL全路径环境变量
[root@db02 scripts]# echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
[root@db02 scripts]# source /etc/profile
[root@db02 scripts]# echo $PATH
/application/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
(或者做软连接 ln -s /application/mysql/bin/*  /usr/local/sbin)
 
7.登录MySQL测试
[root@db02 scripts]# mysql -S /data/3306/mysql.sock 
[root@db02 scripts]# mysql -S /data/3307/mysql.sock 
 
8.配置及管理Mysql多实例加入开机自启动
[root@db02 scripts]# echo "#mysql多实例自启动" >>/etc/rc.local
[root@db02 scripts]# echo "/data/3306/mysql start" >>/etc/rc.local
[root@db02 scripts]# echo "/data/3307/mysql start" >>/etc/rc.local
[root@db02 scripts]# tail -3 /etc/rc.local

#mysql多实例自启动
/data/3306/mysql start

/data/3307/mysql start
 
9. Mysql安全配置设置密码
[root@db02 ~]# mysqladmin -u root -S /data/3306/mysql.sock password '123456'
[root@db02 ~]# mysqladmin -u root -S /data/3307/mysql.sock password '123456'
登陆方式如下:
[root@db02 ~]# mysql -uroot -p -S /data/3306/mysql.sock 
Enter password: 
 
10. 修改默认配置文件中的密码
[root@db02 ~]# sed -n '13p' /data/3306/mysql  /data/3307/mysql 
mysql_pwd="oldboy"
[root@db02 ~]# sed -i '13 s#oldboy#123456#g' /data/3306/mysql
[root@db02 ~]# sed -i '13 s#oldboy#123456#g' /data/3307/mysql
[root@db02 ~]# sed -n '13p' /data/3306/mysql  /data/3307/mysql 
mysql_pwd="123456"
(文件中默认密码为oldboy)否则无法重启或关闭
 
11. 修改mysql启动文件的权限,因为内容包含密码信息
[root@db02 ~]# find /data -type f -name "mysql" -exec chmod 700 {} \;
[root@db02 ~]# find /data -type f -name "mysql" -exec chown root.root {} \;
[root@db02 ~]# find /data -type f -name "mysql" -exec ls -l {} \;
-rwx------ 1 700 root 1326 Sep  3 10:24 /data/3307/mysql
-rwx------ 1 700 root 1307 Sep  3 10:20 /data/3306/mysql
 
12. 增加一个mysql的实例
[root@db02 data]# mkdir -p 3308
[root@db02 data]# cp 3306/my.cnf  3308/my.cnf
[root@db02 data]# cp 3306/mysql  3308/mysql
[root@db02 data]# chown -R mysql:mysql /data/3308
[root@db02 3308]# sed -i 's#3306#3308#g' my.cnf 
[root@db02 3308]# sed -i 's#3306#3308#g' mysql 
[root@db02 3308]# sed -i 's#server-id = 1#server-id = 2#g' my.cnf 
[root@db02 3308]# cd /application/mysql/scripts/
[root@db02 scripts]# ./mysql_install_db --basedir=/application/mysql --datadir=/data/3308/data --user=mysql
[root@db02 3308]# /data/3308/mysql start
Starting MySQL...
[root@db02 3308]# netstat -lntup|grep 3308
tcp        0      0 0.0.0.0:3308                0.0.0.0:*                   LISTEN      5300/mysqld   
 
PS : 禁止使用pkill / kill -9 / killall -9 等命令强制杀死数据库,会引起无法启动的故障。