Linux安装MySQL(只针对这个8.0版本其他版本的MYSQL不知道是不是也可以用可以自己尝试)

1.在百度上搜索MySQL官网,进入下载页面-->选择社区版(Community)-->选择MySQL Community Server

选择  Linux - Generic 点击ALL  选择  Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive下载。

 

2.上传到 /usr/local/  文件目录底线

 

3.tar -xvf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz 解压。

 

4. mv mysql-8.0.12-linux-glibc2.12-x86_64 mysql  从命名。

 

5.添加系统mysql组和mysql用户

命令:groupadd mysql

 

命令:useradd -r -g mysql -s /bin/false mysql

 

6. cd  /usr/local/mysql

修改当前目录拥有者为mysql用户

chown -R mysql:mysql ./

7.配置mysql配置文件  vi /etc/my.cnf  按照以下添加(添加完记得给权限 chmod 777 /etc/my.cnf)

[client]

port=3306

 

default-character-set=utf8

socket=/usr/local/mysql/data/mysql.sock

[mysqld]

 

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

 

socket=/usr/local/mysql/data/mysql.sock

 

symbolic-links=0

 

[mysqld_safe]

log-error=/usr/local/mysql/mysql-log/error.log

pid-file=/usr/local/mysql/data/mysql.pid

 

!includedir /etc/my.cnf.d

 

--------------------------------到此 wq 退出--------------------------------------

 

8.进去 cd /usr/local/mysql

创建 mkdir data

创建 mkdir  mysql-log

进入 cd /usr/local/mysql/mysql-log

vi error.log

chmod 777 error.log

 

9.初始化

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

 

#会有一个密码如下 一定要记下:Pa*ryk8*?GTP

A temporary password is generated for root@localhost: Pa*ryk8*?GTP

 

10.添加开机启动mysql服务和启动mysql服务(需要在mysql下的support-files)

添加mysql服务

cp support-files/mysql.server /etc/init.d/mysql  (这一步容易出错自己百度吧)

 

添加开机启动服务

命令:chkconfig --add mysql

 

添加mysql系统命令,修改系统文件,添加内容,是内容生效。

vim /etc/profile 

添加下面

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

export PATH=$MYSQL_HOME/bin:$PATH

 

内容生效命令:source /etc/profile

 

11.修改mysql的root用户密码,root初始密码

 

启动服务停止服务

 

命令:service mysql start

命令:service mysql stop

 

进入数据库命令:mysql -u root -p

 

#修改 密码 这个不好用继续下一个

#SET PASSWORD = PASSWORD('root');

 

#alter user 'root'@'root' identified by 'root';

alter user user() identified by "root";

PS(修改密码%表示所有,如果写loclhost表示修改的本地密码 ):

use mysql;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';  

FLUSH PRIVILEGES; 

#建议先用这个尝试 (这个可以不用)

#alter user user() identified by "root";

 

刷新权限命令:flush privileges;

 

修改远程登登录命令:update user set `host` = '%' where `user` = 'root' limit 1;

 

然后刷新权限命令:flush privileges;

 

#远程登录   用这个 亲测可用

注意:开启远程连接的方法很多,这里是修改表法。其他自己可以尝试。

1.

use mysql;

select host,user from user;

2.

CREATE USER 'root'@'<127.0.0.1>' IDENTIFIED BY 'root';

CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'root';

CREATE USER 'root'@'%' IDENTIFIED BY 'root';

CREATE USER 'root'@'::1' IDENTIFIED BY 'root';

3.

ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

FLUSH PRIVILEGES;

#----------------------------以上就是安装以及开启远程连接--------------------------------

 

#—————————————Error Code: 1044. Access denied for user 'root'@'%' to database————————

#解决办法:这是没有权限的问题。如图所示

mysql> SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;

-------------- --------- ------------------------------------------- ------------ ------------

| host        | user   | password                             | Grant_priv | Super_priv |

-------------- --------- ------------------------------------------- ------------ ------------

| 192.168.28.% | oozie   | *FED29C14B2E900D70B11B1F1B370F953BA51A6A0 | N        | Y         |

| 192.168.28.% | hive    | *FED29C14B2E900D70B11B1F1B370F953BA51A6A0 | N        | Y         |

| 192.168.28.% | root    | *FED29C14B2E900D70B11B1F1B370F953BA51A6A0 | Y        | Y         |

| localhost    | ranger  | *84BB87F6BF7F61703B24CE1C9AA9C0E3F2286900 | N        | N         |

| localhost    | root    | 0                                  | Y        | Y         |

| %           | root    | *FED29C14B2E900D70B11B1F1B370F953BA51A6A0 | N        | Y         |

| 127.0.0.1    | root    | *FED29C14B2E900D70B11B1F1B370F953BA51A6A0 | Y        | Y         |

| %           | ranger  | *84BB87F6BF7F61703B24CE1C9AA9C0E3F2286900 | N        | Y         |

-------------- --------- ------------------------------------------- ------------ ------------

1.登录MySQL

 

mysql -u root -p

1

输入您的密码

 

2.选择 mysql 数据库

 

use mysql;

因为 mysql 数据库中存储了用户信息的 user 表。

 

3.在 mysql 数据库的 user 表中查看当前 root 用户的相关信息

select host, user, authentication_string, plugin from user; 

执行完上面的命令后会显示一个表格

查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。

 

4.授权 root 用户的所有权限并设置远程访问

GRANT ALL ON *.* TO 'root'@'%';

 

GRANT ALL ON 表示所有权限,% 表示通配所有 host,可以访问远程。

 

5.刷新权限

所有操作后,应执行

flush privileges;

--------------------- 

你可能感兴趣的:(linux)