1、首先检查是否已经安装过mysql,查找mysql相关软件rpm包
rpm -qa | grep mysql
2、将所有与mysql相关的东西删除
yum -y remove mysql-libs-5.1.66-2.el6_3.x86_64
3、安装依赖包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel
4、创建mysql用户组
groupadd mysql
5、在mysql用户组下创建用户mysql
useradd mysql -g mysql
6、从官网下载mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
下载地址:https://dev.mysql.com/downloads/mysql/
7、将mysql-5.7.19-linux-glibc2.12-x86_64.tar放到 /opt 文件夹下
8、解压文件mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
tar xzvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
9、将mysql-5.7.19-linux-glibc2.12-x86_64更名为mysql并移动到 /usr/local/mysql下
mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/mysql
# 在/usr/local/mysql下创建data目录
mkdir /usr/local/mysql/data
10、返回local目录
cd /usr/local
# 将mysql目录及下面的文件、子目录文件主改成mysql
chown -R mysql:mysql mysql/
# 给与mysql目录及下面的文件、子目录755权限
chmod -R 755 mysql/
11、编译安装并初始化mysql,记住命令行末尾的密码
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
12、启动mysql服务
/usr/local/mysql/support-files/mysql.server start
13、做个软连接,重启mysql服务
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql restart
14、做个软链接,将安装目录下的mysql 放在/usr/bin 目录下
ln -s /usr/local/mysql/bin/mysql /usr/bin
15、登录msyql,输入密码(密码为步骤11初始化生成的密码)
mysql -u root -p
16、修改密码为123456
msql>alter user 'root'@'localhost' identified by '123456';
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
mysql>quit
17、编辑my.cnf,添加配置文件,配置内容为
vi /usr/local/mysql/my.cnf
[mysqld]
port = 3306
lower_case_table_names=1 #忽略大小写
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
18、允许3306端口
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
iptables -L -n
service iptables save
19、 创建用户
USE mysql; #创建用户需要操作 mysql 表
# 语法格式为 [@'host'] host 为 'localhost' 表示本地登录用户,host 为 IP地址或 IP 地址区间,表示指定IP地址的主机可登录,host 为 "%",表示所有主机都可登录,省略代表所有主机
CREATE USER 'username'[@'host'] IDENTIFIED BY 'password';
# eg. 常见 local_user 用户可以在所有主机登录,密码为 123456
CREATE USER 'local_user' IDENTIFIED BY '123456';
# eg. 创建 local_user 只允许在本地登录
CREATE USER 'local_user'@'localhost' IDENTIFIED BY '123456';
20 、查看用户权限
# 可以通过查询 user 表获取 语法格式为
SELECT privileges|* FROM user WHERE `user` = 'username';
# eg. 查看 local_user 的权限
SELECT * FROM user WHERE `user` = 'local_user';
# 也可以用 SHOW GRANTS 查看
SHOW GRANTS FOR 'username' [@host];
# eg.
SHOW GRANTS FOR local_user;
21 赋予用户权限
# 语法格式
GRANT privileges ON database.table TO 'username'@'host' [IDENTIFIED BY 'password'];
# eg. 赋予 local_user 在所有主机的所有权限,但不包含给其他账号赋予权限的权限
GRANT all ON *.* TO 'local_user'@'%';
# 刷新权限 权限更新后刷新才会起作用
FLUSH PRIVILEGES;