软件下载

mysql5.7.21

步骤

在linux /usr/local中解压mysql压缩包,改名为mysql

cd /usr/local
tar -zxvf mysql压缩包名
mv mysql压缩包名 mysql --改名命令

创建用户组mysql,创建用户mysql并将其添加到用户组mysql中,并赋予读写权限

groupadd mysql --创建mysql用户组
useradd -r -g mysql mysql --创建mysql用户并添加到mysql用户组中
chown -R mysql mysql --将mysql目录访问权限为mysql用户
chgrp -R mysql mysql --改变mysql目录的用户组为mysql组

--chmod 命令
用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。

--chgrp命令
改变文件或目录所属的组。

-R处理指定目录以及其子目录下的所有文件

创建配置文件,保存并退出

vim /etc/my.cnf

#复制以下内容

[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
bind-address = 0.0.0.0 --访问地址,默认是127.0.0.1只能本机连接,改成0.0.0.0就能远程访问了
character_set_server=utf8, --字符集
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql --安装路径
datadir=/usr/local/mysql/data --数据存放路径,想要删除时这里面的数据一定要删除
socket=/tmp/mysql.sock
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'

初始化数据库

安装libaio一般都默认装了

yum install libaio

补全刚才my.cnf里面的路径或路径下的文件,有就不用.比如:
创建data文件夹和mysqld.log文件
创建data文件夹

cd /usr/local/mysql
mkdir data

创建mysqld.log文件

cd /var/log
vi mysqld.log
:wq
在此目录下提权并赋予mysql.log文件mysql权限
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

查看初始密码

cat /var/log/mysqld.log --可以看到这个路径就是我们在my.cnf里面配置的,mysqld.log文件使我们刚刚建立的
--这个日志文件很有用,所有的错误信息都在这个文件里面,然后对症下药
言归正传,最后一行root@localhost: 这里就是初始密码

启动服务,修改初始密码,运行远程连接

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 你在上面看到的初始密码
#如果提示必须要修改密码才可以进行操作的话则执行下面操作
set password=password('新密码');

flush privileges;

UPDATE `mysql`.`user` SET `Host` = '%', `User` = 'root' WHERE (`Host` = 'localhost') AND (`User` = 'root');

远程用户建立

grant all privileges on *.* to '新用户名'@'%' identified by '新密码';

flush privileges;

添加系统路径

vim /etc/profile

export PATH=/usr/local/mysql/bin:$PATH

source /etc/profile

开机自启

cd /usr/local/mysql/support-files

cp mysql.server /etc/init.d/mysqld

chkconfig --add mysqld

小知识

授权

授权:
grant all on *.* to 'root'@'%' identified by '123456' with grant option;
//允许账户root从任何主机连接到所有数据库(*.*)
grant all on test.* to 'user'@'%' identified by '123456' with grant option;
//允许账户user从任何主机连接到test数据库(test.*)

释放远程授权:
revoke all on *.* from 'user'@'%';
//禁止用户user从任何主机访问所有数据库
revoke all on test.* from 'user'@'%';
//禁止用户user从任何主机访问test数据库

flush privileges; //刷新系统授权表

忘记密码(Access denied for user ‘root’@’localhost’ (using password:YES))

1.先停掉原来的服务

service mysqld stop

2.使用安全模式登陆,跳过密码验证

mysqld_safe –user=mysql –skip-grant-tables –skip-networking&

3.登陆

mysql -uroot mysql

4.修改密码

mysql > update user set authentication_string = password(‘123456’)
where user = ‘root’ and Host = ‘localhost’

5.刷新权限

mysql > flush privileges;

6.重新使用正常模式登陆

mysql -uroot -p
enter password : 123456

小仙女和小鲜肉们喜欢吗,喜欢就点小心心把

更多相关文章

  1. 多个mysql数据库怎么指定到多个不同文件目录
  2. ubuntu_mysql怎么判断自己的库和头文件的位置
  3. mysql备份文件损坏的修复
  4. mysql安装后不能重新修改目录文件夹的名字?
  5. mysql如何修改导入数据库文件大小限制
  6. 如何使用mysql在php文件夹中快速更改图像名称?
  7. window 下 mysql 启动 二进制日志文件
  8. MySQL的ibdata1文件占用过大瘦身
  9. 如何使用Angular.js从json文件中使用id获取特定数据

随机推荐

  1. 判断Android设备是否连接网络
  2. Android中简单的音乐播放器
  3. Android文件递归遍历
  4. android 不使用布局文件,完全由代码控制布
  5. Android 分享微信小程序
  6. Android:Timer定时器
  7. Android ExpandableListView 带有Checkbo
  8. Android应用程序启动过程源代码分析(2)
  9. 节操视频播放器
  10. Android中如何自定义view