接下来,请看傻瓜式表演:
一、删除自带的mariadb
rpm -qa | grep mariadb
rpm -e --nodeps xxxxxx
二、清理linux中的mysql
1、卸载
rpm -qa | grep mysql
rpm -e –-nodeps xxxxxx
2、删除mysql安装文件
1.查询mysql的安装文件:
find / -name mysql
2.删除查找到的文件
rm -rf “找到的路径”
3、删除mysql的配置文件
rm -rf /etc/my.cnf
rm -rf /etc/init.d/mysql
rm -rf /etc/init.d/mysqlId
4、删除用户和用户组
userdel mysql
出现“userdel: user 'mysql' does not exist”。
卸载清理完成!
三、安装mysql5.7.24版本
1、创建mysql组和用户
groupadd mysql
useradd -r -g mysql mysql
2、从官网下载mysql安装包,解压并重命名移动到/usr/local/mysql文件夹中,并在mysql中添加data文件夹
1、下载
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
2、解压
tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
3、重命名并移动文件
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
4、添加data文件夹
mkdir /usr/local/mysql/data
3、改mysql目录中所有目录及文件夹所属组合用户
cd /usr/local/
chown -R mysql:mysql mysql/
chmod -R 755 mysql/
4、编译安装并初始化mysql
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
输出: (密码在最后一行,拷贝保存下来,后续验证改密码)
5、如果 “编译安装并初始化mysql” 前出现 " error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory" 这种情况,多半是libaio1包不全,或者根本没有。
解决:
yum search libaio
yum install libaio
或者
apt-cache search libaio
apt-get install libaio1
6、启动mysql服务
/usr/local/mysql/support-files/mysql.server start
7、建立软连接,重启服务
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql restart
8、将mysql映射到/usr/bin目录
ln -s /usr/local/mysql/bin/mysql /usr/bin
9、登录
mysql -u root -p
输入保存下来的密码(复制AND粘贴)
10、修改密码,开放远程连接
msql> alter user 'root'@'localhost' identified by '123123';
mysql> use mysql;
msyql> update user set user.Host='%' where user.User='mysql';
mysql> flush privileges;
mysql> quit
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
11、改配置文件my.cnf,添加配置(5.18以后的版本)
vi /usr/local/mysql/my.cnf
添加:
[mysqld]
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 允许最大连接数
max_connections=200
********************以下根据需要添加*******************************
# 服务端使用的字符集默认为8比特编码的latin1字符雿
character-set-server=utf8
# 创建新表时将使用的默认存储引擿
default-storage-engine=INNODB
#查询缓存
explicit_defaults_for_timestamp=true
[mysqld_safe]
log-error = /var/log/mysqld.log
pid-file = /var/run/mysqld/mysqld.pid
12、设置开机自动启动
1、将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、赋予可执行权限
chmod +x /etc/init.d/mysqld
3、添加到服务
chkconfig --add mysqld
4、显示服务列表
chkconfig --list
5、装完重启
reboot
13、重启失败,mysql.sock 问题
解决:找mysql.sock
find / -name mysql.sock
(1)如果找到了,在my.cnf中添加 “socket= 找到的路径”
比如 socket=/var/lib/mysql/mysql.sock。一般情况 这个文件会在 /tmp/mysql.sock 这个位置
(2) 没找到,重新生成
首先,尝试重启服务, 看看能启动不,启动不了,多半就是彻底没了
# mysql -uroot -h 127.0.0.1 -p
接下来,接着修改my.cnf文件
在原来的基础上,加上“ socket=/var/lib/mysql/mysql.sock ” 保存。这个路径一定要存在。并且赋给该文件夹权限:
chmod 777 /var/lib/mysql
然后,重启mysql和mysqld服务重新生成
service mysql restart
service mysqld restart
再次输入:
mysql -uroot -h 127.0.0.1 -p
本人修复启动成功。