Linux下mysql 5.7.22安装


//卸载旧版本
rpm -qa|grep -i mysql
rpm -e --nodeps mysql-libs-5.1.73-8.el6_8.x86_64

find / -name mysql
rm -rf 找到的所有目录

删除配置
rm -rf /etc/my.cnf

//安装mysql
1.解压

3.添加用户组和用户
#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysq

4.安装
cd /usr/local/mysql
mkdir data
#chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;
#文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,
#在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。
chown -R mysql:mysql ./
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#将mysql/目录下除了data/目录的所有文件,改回root用户所有
chown -R root . #注意这里 有个点
#mysql用户只需作为mysql-5.7.22/data/目录下所有文件的所有者
chown -R mysql data

5.复制启动文件
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
cp bin/my_print_defaults /usr/bin/

6.修改启动脚本

vi /etc/init.d/mysqld
#修改项:
basedir=/usr/local/mysql-5.7.22/
datadir=/usr/local/mysql-5.7.22/data
port=3306

#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
vi /etc/profile
#添加mysql路径,加入下面内容,按ESC-->:wq保存
export PATH=$PATH:/usr/local/mysql-5.7.22/bin
#刷新立即生效
source /etc/profile

7.修改mysql配置项 新建
vi /etc/my.cnf

配置如下:
[mysqld]
basedir = /usr/local/mysql-5.7.22
datadir = /usr/local/mysql-5.7.22/data
socket = /tmp/mysql.sock
user = mysql
tmpdir = /tmp
symbolic-links=0
[mysqld_safe]
log-error = /usr/local/mysql-5.7.22/data/error.log
pid-file = /usr/local/mysql-5.7.22/data/mysql.pid

 8.启动mysql
service mysqld start
如启动失败,删除 /usr/local/mysql-5.7.22/data下所有文件,
重新执行./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data,
再启动

//重置密码 /usr/libexec/mysqld --skip-grant-tables 同理也是修改密码
1.#vim /etc/my.cnf
2.在[mysqld]后面任意一行添加“skip-grant-tables”
3.重启进入  此时无需密码./mysql  直接进入
4.接下来就是用sql来修改root的密码
mysql> use mysql;
mysql> update user set authentication_string=password("123456") where user="root";
mysql> update user set host = '%' where user ='root';

mysql> update user set password_expired='N' where user='root';//将密码设置为永不过期
mysql> flush privileges;
mysql> quit
5.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!

#将host设置为 % 的含义
mysql.user表中Host为%的含义

Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。
这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。
而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。
如果Host=%,表示所有IP都有连接权限。、
这也就是为什么在开启远程连接的时候,大部分人都直接把Host改成%的缘故,为了省事。
select user,host from mysql.user;

//使用脚本 备份数据库时 使用 mysqldump
./mysqldump fck > /usr/local/sql.sql即可用户名密码在下方配置文件中指定了,fck为数据库名称
需要
vim /etc/mysql/my.cnf
[mysqldump]
user=root`
password=123456

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值