Centos7 源码安装同一台机器不同端口的两个MySQL服务

一:安装

1,相关依赖安装,否则在cmake的时候会报错,在此之前需要配置系统的yum源

yum install -y ncurses-devel cmake gcc perl-Data-Dumper gcc-c++ git openssl-devel make

gcc 版本 7.3.0及以上(建议使用yum安装)

gcc -v

cmake 版本3.12.1及以上(建议使用yum安装)

cmake -version

4,添加用户与组


    #groupadd mysql

    #useradd -r -g mysql mysql

   #mkdir /usr/local/mysql

   #mkdir /usr/local/mysql/data

   #mkdir /var/lib/mysql

   chown -R mysql:mysql /usr/local/mysql

   chown -R mysql:mysql /var/lib/mysql

5,mysql的源码编译

mysql源码下载地址:MySQL :: Download MySQL Community Server (Archived Versions)

 下载.tar.gz  后缀格式

  #tar zxvf mysql-5.7.20.tar.gz  

    #cd mysql-5.7.20

#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_USER=mysql

    #make -j 8 && make install

 6,  编译完成后,安装数据库 

# cd /usr/local/mysql

#cp support-files/my-default.cnf /etc/my.cnf

# scripts/mysql_install_db --user=mysql  --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 

 7,配置环境变量

    #vim /etc/profile

  export MYSQL_HOME=/usr/local/mysql

  export PATH=$PATH:$MYSQL_HOME/bin

//刷新

#source /etc/profile

8,启动mysql

    # bin/mysqld_safe --user=mysql &  

     # 启动mysql,看是否成功   

    # netstat -tnl|grep 3306  

    # 或者  

    # ps -aux|grep 'mysql'

9,设置root用户密码

  #/usr/local/mysql/bin/mysqladmin -u root password 'root密码'

10,配置自启动

     #将mysql的启动服务添加到系统服务中     

# cp support-files/mysql.server /etc/init.d/mysql.server      

    # #现在可以使用下面的命令启动mysql     

 # service mysql.server start     

    # #停止mysql服务     

   # service mysql.server stop     

   # #重启mysql服务     

   # service mysql.server restart  

11,登录数据

  #mysql -u root -p 

12.修改主机访问权限

usr mysql;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';

 flush privileges;

二:安装第二个MySQL服务

1.创建mysql编译目录

mkdir /usr/local/mysql3307
mkdir /usr/local/mysql3307/data
mkdir /var/lib/mysql3307
  chown -R mysql:mysql /usr/local/mysql3307
  chown -R mysql:mysql /var/lib/mysql3307
2.mysql的源码编译

  #tar zxvf mysql-5.6.51.tar.gz  
  #cd mysql-5.6.51  
  #cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql3307 -DMYSQL_UNIX_ADDR=/var/lib/mysql3307/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql3307/data -DMYSQL_TCP_PORT=3307 -DMYSQL_USER=mysql

  #make -j 8 && make install

3.编译完成后,安装数据库

# cd /usr/local/mysql3307    
 #cp support-files/my-default.cnf ./my.cnf

# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql3307 --datadir=/usr/local/mysql3307/data

4.修改my.conf配置文件

[mysqld]
datadir=/usr/local/mysql3307/data
socket=/var/lib/mysql3307/mysql.sock
[mysqld_safe]
log-error=/var/log/mysqld3307.log
pid-file=/usr/local/mysql3307/mysqld3307.pid

5.配置自启动

 #将mysql的启动服务添加到系统服务中     
 # cp support-files/mysql.server /etc/init.d/mysql3307.server
开机自启动:(chkconfig 命令redhat系统的,其他系统可能没有,具体再扯对应系统解决方案)

     赋予执行权限:chmod +x /etc/init.d/mysql3307.server
     添加服务:chkconfig --add mysql3307.server
     显示服务列表:chkconfig --list
     如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入

 chkconfig --level 345 mysql3307.server on


6.编辑mysql3307.server:

basedir=/usr/local/mysql3307
 datadir=/usr/local/mysql3307/data
 #conf=/etc/my.cnf --把原来的注释,修改成真实my.cnf目录
 conf=/usr/local/mysql3307/my.cnf
 

7.启动mysql数据库

#现在可以使用下面的命令启动mysql     
 # service mysql3307.server start     
 # #停止mysql服务     
 # service mysql3307.server stop     
 # #重启mysql服务     
 # service mysql3307.server restart  


8.登录数据库

#mysql -u root --socket=/var/lib/mysql3307/mysql.sock --port=3307 -p
 因为两个数据库,需要置顶socket进行启动。第一次登陆没有密码,直接回车即可。 
 停止3307数据库
 #mysqladmin  -u root --socket=/var/lib/mysql3307/mysql.sock --port=3307 -p shutdown


修改密码:

mysql> use mysql;

 mysql> update user set password=password('123456') where user='root';

 mysql> FLUSH PRIVILEGES;

修改主机访问权限

GRANT  ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';

 FLUSH  PRIVILEGES;

三:卸载(源码安装)

1.查找老版本mysql并删除

find / -name mysql   (查找结果如下相似)

/var/lib/mysql

/var/lib/mysql/mysql

/usr/lib64/mysql

2.删除对应的mysql目录

rm -rf /var/lib/mysql

rm -rf /var/lib/mysql

rm -rf /usr/lib64/mysql

注意:卸载后/etc/my.cnf不会删除,需要进行手工删除

rm -rf /etc/my.cnf

3.再次查找机器里mysql文件

find / -name mysql

猜你喜欢

转载自blog.csdn.net/qq_46264836/article/details/129360185