一:安装
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