完全卸载以前安装的MySQL
- 查看MySQL是否已经安装
rpm -qa|grep -i mysql
- 如果之前是源码安装MySQL,则没有数据,如果有数据
rm -rf 【查询到的所有数据】
- 找到以前MySQL文件位置
find / -name mysql
- 将所有找到的MySQL路径全部删除
rm -rf 【找到的所有路径】
- 以上步骤完全卸载MySQL
源码安装MySQL
- 检查mysql组和用户是否存在
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql - 返回以下内容则表示已经有mysql组和用户
cat /etc/group | grep mysql
mysql:x:1001:
cat /etc/passwd | grep mysql
mysql:x:996:1001::/home/mysql:/bin/bash - 否则需要添加mysql组和用户
groupadd mysql
useradd -r -g mysql mysql - 解压mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz,可以解压到任意目录,记得解压后的路径
tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
- 重命名解压后的mysql文件
mv mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz mysql
- 进入mysql
cd 【路径】/mysql
- 由于5.7.21没有data目录,所以在mysql中新建data目录
mkdir data
- 修改系统配置文件
cd 【路径】/mysql/support-files
vim mysql.server
basedir=【路径】/mysql
datadir=【路径】/mysql/data - 复制mysql.server到/etc/init.d/mysql
cp mysql.server /etc/init.d/mysql
- 创建my.cnf文件
vi /etc/my.cnf
- 输入以下内容:
[mysqld]
datadir=【路径】/mysql/data
log-error=【路径】/mysql/data/error.log
pid-file=【路径】/mysql/data/mysql.pid
user=mysql
tmpdir=/tmp
lower_case_table_names=1 - 进入mysql中的bin目录
cd bin
- 配置参数
./mysqld --initialize --user=mysql --basedir=【路径】/mysql --datadir=【路径】/mysql/data
- 如果报错
./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
- 解决
yum install -y libaio
- 查看log-error输出
cat 【路径】/mysql/data/error.log
- 记住最后一行得到的密码
2018-02-27T06:57:36.979919Z 1 [Note] A temporary password is generated for root@localhost: 5_AXjE:uC#r&
- 进入support-files启动mysql服务
cd support-files
./mysql.server start - 如果报错:
Starting MySQL.The server quit without updating PID file (/[FAILED]software/mysql/data/localhost.localdomain.pid).
- 解决:
[root@localhost mysql]# ps -ef|grep mysql
root 14697 14269 0 02:03 pts/2 00:00:00 grep mysql
[root@localhost mysql]# kill -9 14269 - 进入bin目录连接mysql数据库
./mysql -uroot -p
- 密码是以上得到的密码,刚开始要修改密码,否则会
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
- 解决
mysql> SET PASSWORD = PASSWORD("【新密码】");
- 以上步骤安装完mysql
MySQL数据库操作
- 创建新的用户并授权远程登录
mysql> create user 【用户名】 identified by "【密码】";
mysql> grant all privileges on *.* to '【用户名】'@'%' identified by '【密码】' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec) - 刷新用户权限相关表
mysql> flush privileges;