linux卸载及安装mysql 5.7以上
删除:
1.rpm -qa|grep -i mysql 查看安装的mysql
2./usr/local/mysql/support-files/mysql.server stop 停止mysql服务
3.whereis mysql 收集mysql文件夹信息 或者 find / -name mysql(推荐)
4.rpm -ev mysql-***** 卸载删除mysql组件
5.再 rm -rf 删除mysql对应文件夹
6.删除mysql用户名和用户组
more /etc/passwd | grep mysql
more /etc/shadow | grep mysql
more /etc/group | grep mysql
userdel mysql
groupdel mysql
7.rpm -qa | grep -i mysql再确认是否删除
8.配置文件一般有 /etc/my.cnf /var/log/mysqld.log /var/run/mysqld/ 根据具体情况删除
安装:
下载mysql文件压缩包 放到、/usr/local/
cd /usr/local/
tar -zxvf mysql**** 解压
mv mysql**** mysql 重命名
groupadd mysql 创建用户组
useradd -r -g mysql mysql 创建用户添加进用户组 -r标识系统内部用户
chown -R mysql mysql 给用户加mysql文件权限
chgrp -R mysql mysql 给用户组mysql文件权限
2.创建配置文件,添加配置
vim /etc/my.cnf
[client] port = 3306 socket = /tmp/mysql.sock [mysqld] character_set_server=utf8 init_connect='SET NAMES utf8' basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/tmp/mysql.sock #skip-grant-tables log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
lower_case_table_names = 1 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION max_connections=5000 default-time_zone = '+8:00'
3.初始化数据库
yum install libaio 先安装这个必须的
添加日志文件
vim /var/log/mysqld.log 保存
再赋权
chmod 777 mysqld.log
chown mysql:mysql mysqld.log
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
4.查看初始密码
cat /var/log/mysqld.log
5./usr/local/mysql/support-files/mysql.server start 启动mysql服务
6.修改初始密码
cd /var/run/ mkdir mysqld chmod 777 mysqld cd mysqld vim mysqld.pid chmod 777 mysqld.pid chown mysql:mysql mysqld.pid /usr/local/mysql/support-files/mysql.server start /usr/local/mysql/bin/mysql -uroot -p初始密码
注意:我登录的时候会报错,不知道什么原因,(可能复制之后的有编码问题)
解决:(修改root密码 *初始密码不能用的情况)
1.在/etc/my.cnf 中添加 skip-grant-tables
2.重启服务
3.更改root密码:ALTER USER 'root'@'localhost'IDENTIFIED BY 'newpassword'
skip-grant-tables
4.退出并删除
5.使用 /usr/local/mysql/bin/mysql -uroot -p刚修改的密码,直接回车进入
备注:远程连接出现 1130错误:不允许远程连接
进入mysql数据库,执行:update user set host = '%' where user ='root'; 允许远程连接。
flush privileges; 刷新数据库。