linux一台服务器上装两个mysql数据库

总有一些情况让你不得不在已经有mysql数据服务器上再安装一个mysql,今天就说一下两个mysql如何安装,这里指的是源码安装。
首先假如服务器上已经有一个mysql-5.5.58数据库,端口是3306。
接下来在安装一个mysql数据库,端口是3307的。
安装mysql之前需要做的工作详情看这个地址:
http://blog.sina.com.cn/s/blog_13128368e0102x537.html
这里直接是安装另个一个端口3307的数据库。
一:创建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

二:mysql的源码编译
  #tar zxvf mysql-5.5.58.tar.gz  
  #cd mysql-5.5.58  
  #rm CMakeCache.txt
  #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   
  #make install

三:编译完成后,安装数据库
 # cd /usr/local/mysql3307    
 #cp support-files/my-medium.cnf ./my.cnf
 # scripts/mysql_install_db --user=mysql  --basedir=/usr/local/mysql3307 --    datadir=/usr/local/mysql3307/data 

四:修改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

五:配置自启动 
 #将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


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

七:启动mysql数据库
   方式一:启动3307数据库
   /usr/local/mysql3307/bin/mysqld_safe --datadir=/usr/local/mysql3307/data --  socket=/var/lib/mysql3307/mysql.sock \
--pid-file=/usr/local/mysql3307/mysqld3307.pid \
--log-error=/var/log/mysqld3307.log \
--basedir=/usr/local/mysql3307 --user=mysql --port=3307 & 
  方式二:
 #现在可以使用下面的命令启动mysql     
 # service mysql3307.server start     
 # #停止mysql服务     
 # service mysql3307.server stop     
 # #重启mysql服务     
 # service mysql3307.server restart  

八:登录数据库
 #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

九:修改root密码
 mysql> use mysql;
 mysql> update user set password=password('root123') where user='root';
 mysql> FLUSH PRIVILEGES;

十:修改主机访问权限(可选)
 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'root123' WI 
 TH GRANT OPTION;
 FLUSH PRIVILEGES;

你可能感兴趣的:(mysql)