mysql卸载与安装
一、卸载mysql
本节引自innerpeacez:https://blog.csdn.net/zhwyj1019/article/details/80274269
1、查看是否有安装的mysql
rpm -qa | grep -i mysql // 查看命令1
yum list install mysql* // 查看命令2
2、卸载mysql安装包
yum remove mysql mysql-server mysql-libs compat-mysql51
yum remove mysql-community-release
rpm -e --nodeps mysql-community-libs-5.7.22-1.el7.x86_64
rpm -e –nodeps mysql57-community-release-el7-11.noarch
总之删到通过上面两种命令查不出来任何有关mysql的东西。
3、删除残留的mysql目录或文件:
查询mysql安装目录
whereis mysql
find / -name mysql
删除查询出的目录,我的这个是在没有删除安装包的情况下截的图,所以可能比较多。
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
rm -rf /usr/bin/mysql
rm -rf /etc/logrotate.d/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
总之删到通过上面两种命令查不出来任何有关mysql的东西。
继续删除
4、删除mysql 配置文件
rm –rf /usr/my.cnf
rm -rf /root/.mysql_sercret
5、删除mysql开机自启动服务
chkconfig --list | grep -i mysql
chkconfig --del mysqld // 服务名为你设置时候自己设置的名字
二、编译安装mysql
本节引自:背向天堂:https://www.yisu.com/zixun/31388.html
1.mysql的编译安装,需要使用cmake和Boost C++库,因此在进行安装前,需要提前安装好cmake及编译器。
[root@oel6 ~]# yum -y install gcc gcc-c++ ncurses ncurses-devel cmake
2.下载Mysql源代码,选择下载Generic Linux (Architecture Independent), Compressed TAR Archive Includes Boost Headers版本,该版本包含boost库信息,不需要单独下载
[root@oel6 local]# wget http://dev.MYSQL.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.15.tar.gz
3.添加mysql用户
[root@oel6 local]# groupadd mysql
[root@oel6 local]# useradd -r -g mysql -s /bin/nologin mysql
4.解压MySQL安装介质
解压到目录/usr/local/
[root@oel6 local]# tar -zxvf mysql-boost-5.7.15.tar.gz
[root@oel6 local]# cd mysql-5.7.15/
5.编译安装MySQL
[root@oel6 local]# mkdir -p /mysql/data
[root@oel6 local]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mysql/data \
-DWITH_BOOST=/usr/local/mysql-5.7.15/boost/boost_1_59_0
[root@oel6 mysql-5.7.15]# make
[root@oel6 mysql-5.7.15]# make install
清除编译错误信息
[root@oel6 mysql-5.7.15]# make clean
[root@oel6 mysql-5.7.15]# rm CMakeCache.txt
6.初始化MySQL数据库
[root@oel6 ~]# cd /usr/local/mysql/
[root@oel6 mysql]# chown -R mysql:mysql ./
[root@oel6 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mysql/data
2016-10-06T05:11:36.422748Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2016-10-06T05:11:36.832157Z 0 [Warning] InnoDB: New log files created, LSN=457902016-10-06T05:11:36.900930Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.2016-10-06T05:11:36.961751Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 5b4533be-8b83-11e6-927a-0800279bbbbf.2016-10-06T05:11:36.963090Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.2016-10-06T05:11:36.964712Z 1 [Note] A temporary password is generated for root@localhost: ;uIY2:ZVrv)u
注意这个初始密码保存起来,下面会用到
[root@oel6 mysql]# bin/mysql_ssl_rsa_setup --datadir=/mysql/data
Generating a 2048 bit RSA private key
…+++
…+++
writing new private key to ‘ca-key.pem’-----
Generating a 2048 bit RSA private key
…+++
…+++
writing new private key to ‘server-key.pem’-----
Generating a 2048 bit RSA private key
…+++
…+++
writing new private key to ‘client-key.pem’-----
MySQL 5.7.6 之前版本,使用下面命令进行初始化bin/mysql_install_db --user=mysql
7.启动MySQL数据库 (编译安装的MySQL,会默认创建/etc/my.cnf文件,没有就创建改文件)
[root@oel6 ~]# cd /mysql
[root@oel6 mysql]# mkdir log
[root@oel6 mysql]# mkdir run
[root@oel6 ~]# chown -R mysql:mysql /mysql
[root@oel6 mysql]# cat /etc/my.cnf
[mysqld] //非默认参数会影响通过服务方式启停数据库datadir=/mysql/data user=mysql#
Disabling symbolic-links is recommended to prevent assorted security
risks symbolic-links=0[mysqld_safe]
[root@oel6 mysql]# bin/mysqld_safe --user=mysql &
[1] 27572 [root@oel6 mysql]# 2016-10-06T05:21:00.684235Z mysqld_safe
Logging to ‘/mysql/log/mysqld.log’.2016-10-06T05:21:00.709272Z
mysqld_safe Starting mysqld daemon with databases from /mysql/data
8.登陆MySQL数据库
[root@oel6 ~]# vi /root/.bash_profile
PATH= P A T H : PATH: PATH:HOME/bin:/usr/local/mysql/bin //环境变量中增加mysql的路径
[root@oel6 ~]# . /root/.bash_profile
[root@oel6 mysql]# mysql -u root -h localhost -p
Enter password: ;uIY2:ZVrv)uWelcome to the MySQL monitor. Commands
end with ; or \g. mysql> ALTER USER ‘root’@‘localhost’ IDENTIFIED BY
‘12345678’;
9.配置MySQL服务自启动
[root@oel6 ~]# cd /usr/local/mysql
[root@oel6 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@oel6 mysql]# chkconfig --add mysqld
[root@oel6 mysql]# chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
10.关闭MySQL数据库
[root@oel6 bin]# mysqladmin -u root shutdown
mysqladmin: connect to server at ‘localhost’ failed error: ‘Access
denied for user ‘root’@‘localhost’ (using password: NO)’
[root@oel6 bin]# mysqladmin -u root -p shutdown
Enter password: 2016-10-06T05:50:46.469848Z mysqld_safe mysqld from
pid file /mysql/run/mysqld.pid ended [1]+ Done
mysqld_safe --user=mysql
11.通过服务进行MySQL启停
[root@oel6 bin]# service mysqld start
Starting MySQL. [ OK ]
[root@oel6 bin]# service mysqld stop
Shutting down MySQL. [ OK ]
12.登陆非默认端口MySQL
[root@oel6 bin]# mysql -u root -P8000 -h localhost -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.